Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

Official ZPE/YASS documentationxor

Official ZPE/YASS documentationxor

xor (boolean a, boolean b) ⇒ boolean

Returns the exclusive-or (XOR) on two boolean values. i.e. (!($a && $b) && ($a || $b)).

First available: Version 1.4.3


XOR (⊕) is based on the logic that is provided by underlying logic gates made of transistors. As such, XOR is true if and only if one condition is true. The truth table for OR and XOR is shown below:

P Q P ∨ Q P ⊕ Q
True True True False
True False True True
False True True True
False False False False

Using XOR to construct a 1 bit adder

function adder($a, $b, $c)

  $sum = xor(xor($a, $b), $c)
  $carry = (xor($a, $b) and $c) or ($a and $b)

  return ["result" => $sum, "carry" => $carry]
end function

function main()

  print(adder(1, 0, 0))
  print(adder(0, 0, 1))
  print(adder(1, 1, 0))

end function

For more on adders, visit this page.

Feedback 👍
Comments are sent via email to me.