Difference between revisions of "Xor"

From Lazarus wiki
Jump to navigationJump to search
m
Line 41: Line 41:
 
If you call ToggleBit(11,0) then get 10. If you call ToggleBit(10,2) then get 14.
 
If you call ToggleBit(11,0) then get 10. If you call ToggleBit(10,2) then get 14.
  
=== Read more ===
+
== See also ==
 
* [[Variable_parameter#XOR swap| XOR swap]]
 
* [[Variable_parameter#XOR swap| XOR swap]]
 
* [[Shl]]
 
* [[Shl]]

Revision as of 08:25, 6 May 2014

Deutsch (de) English (en) suomi (fi) français (fr) русский (ru)

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.

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.

See also