The only computational element described here is a full adder. It is the basic building block of multi-bit adders and subtracters.

A full adder performs a single column of a binary addition.
It has two inputs, `X`

and `Y`

for bits from the
summands.
It has another input, `Ci`

for the carry from the column to
the right.

The `S`

output is the column sum.
This output should be 1 whenever an odd number of the inputs are 1.

The `Co`

output is the carry output, which is sent to the
column to the left.
This output should be 1 when at least two of the inputs are 1.