Xor

From Lazarus-ccr

Jump to: navigation, search

English (en) Suomi (fi)

Contents

[edit] Boolean operation

Exclusive or (xor) results in a value of true if and only if exactly one of the operands has a value of true.


[edit] Truth table

A B   A xor B  
  false     false     false
  false   true   true
  true   false   true
  true   true   false


[edit] Bitwise operation

Bitwise xor sets the bit to 1 where the corresponding bits in its operands are different, and to 0 if they are the same.

[edit] Toggle a bit

 
function ToggleBit(const AValue,ABitNumber:integer):integer;
begin
   result := AValue xor 1 shl ABitNumber;
end;
 

If you call ToggleBit(11,0) then get 10. If you call ToggleBit(10,2) then get 14.

[edit] Read more