Xor
From Lazarus wiki
Jump to navigationJump to searchThe printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
русский (ru) │
Back to Reserved words.
The xor operator
compares two boolean
values, and returns true if and only if one of them is true.
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.
Truth table
A | B | A xor B |
---|---|---|
false | false | false |
false | true | true |
true | false | true |
true | true | false |
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.
Example:
0101'1010 xor 0011'0100 ――――――――――――― 0110'1110
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
.
operators |
|
---|---|
see also |
|