Einzelnen Beitrag anzeigen

Theseus

Registriert seit: 21. Jun 2011
18 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#1

Differenz zwischen Bytes mit Bit-Operatoren

  Alt 17. Sep 2020, 09:49
Sicher eine sehr einfache Frage - aber ich kriege es gerade nicht hin

Ich möchte abs(z1-z2) durch Addition mit Bit-Operatoren bestimmen.

function AbsDifferenz(z1, z2: byte): byte;
begin
result := z1 + not z2 + 1;
end;

Das funktioniert, solange z1 > z2 ist, aber nicht umgekehrt. Irgendwie erinnere ich mich, dass es eine xor-Formel dazu gab, aber ich finde die nicht...

Wer hilft mir auf die Sprünge?
  Mit Zitat antworten Zitat