Difference between revisions of "Xor"

From Lazarus wiki
Jump to navigationJump to search
m (Text replace - "delphi>" to "syntaxhighlight>")
(wikitable)
Line 8: Line 8:
 
== Truth table ==
 
== Truth table ==
  
{| border="1" style="border: 1px  solid; border-collapse: collapse;"
+
{| class="wikitable"
 
|-
 
|-
!align=center| A !! align=center|B !!   A xor B  
+
! A !! B !! A xor B
 
|-
 
|-
 
|   false  ||   false  
 
|   false  ||   false  

Revision as of 21:39, 4 May 2012

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.

Read more