Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#3

Re: BDV001 Protokoll und CheckSum

  Alt 17. Jan 2008, 23:44
bin ich jetzt zu doof, oder paßt XOR doch? wohl auch zuviele nullen gesehn

und eine Addition Ergebnis := Byte1 + Byte2 + Byte3 + ... + Byte8; paßt och nicht.

dieses "has a value equal to 0." scheint wohl Einfluß zu haben

vielleicht hilft ja sowas in der Richtung?
http://www.patentstorm.us/patents/5798958.html
http://www.freepatentsonline.com/5798958.html


Aber den Hersteller zu Fragen wäre wohl doch bestimmt einfacher.


PS: and und or kann so auf einfach verbindung nicht gehn
> bei AND wäre immer ein 0, sobald auch nur ein Wert 0 ist (also eigentlich fast immer)
> und bei OR wäre es immer 1, sobal auch nur ein Wert 1 ist (ebenfalls fast immer)

und XOR schaltet das Bit um, sobald eine 1 vorkommt (also immer hin und her ... ungerade 1-bits-Anzahl = 1)



"ignoring any overflow" weißt aber mehr auf eine Addition (oder andere Rechenweise) hin ... bei XOR/AND/OR gibt es ja keinen Überlauf.
wobei hier die Ergebnise auch teilweise übereinstimmen

Code:
Beispiel 1
10000001 Byte 1
00001010 Byte 2
00001011 Byte 3
00100000 Byte 4
00000000 Byte 5
10110000 Byte 6
00000101 Byte 7
00000000 Byte 8

1[color=#ff0000]0010101[/color] Ergebnis

hi....lo-bit
wis auf das Linke/Hi-Bit stimmt es doch mit einer addition (glaub ich) überein
und wenn ich beim Hi-Bit keinen überlauf zulasse und nicht weiterrechne, dann kommt daauch die eins raus

Delphi-Quellcode:
// für Beispiel 1 ... bei Bsp2 paßt es wieder nicht :(
W: Word;
W := Word(Byte1) + Byte2 + Byte3 + Byte3 + ... + Byte8;
If W > $FF Then W := Byte(W) or $80 Else W := Byte(W);
W :=

[add]
ja, hab grad mal lange Weile ... also besser fragst du mal beim Hersteller
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat