Xor
From Lazarus-ccr
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.
