Registriert seit: 21. Jun 2011
20 Beiträge
Delphi 10.2 Tokyo Architect
|
AW: Differenz zwischen Bytes mit Bit-Operatoren
17. Sep 2020, 12:47
Nee, ich möchte tatsächlich abs(z1-z2) = abs(z2-z1) bestimmen.
Mit meiner obigen Formel
result := z1 + not z2 + 1
bekomme ich das richtige Ergebnis, wenn z1 > z2 ist
Z.B.: 7 - 3 => 7 + 252 + 1 => 260
Da in einem Byte das 256er (als 9.) Bit entfällt, bleibt Rest = 4.
Bei 3 - 7 => 3 + 248 + 1 => bleiben 252 als Rest ...
Irgendwas ist da also falsch, und ich meine mich schwach zu erinnern, dass es mit xor gehen müsste, finde aber die Formel nicht.
Immerhin ist: not z1 = z1 xor 255
Lieben Gruß!
|