home | feed | david-web@bubblycloud.com

Billiard-ball computing: reversible half-adder

Reversible half-adder. Bottom input is a constant 1. Outputs are, top to bottom, the carry (a xor b), a copy of a, the sum (a and b), and (not a) or b.

This circuit is three interactions (two forwards, one reverse). I don't think there's any smaller circuit that can do a reversible xor, even without the carry.

(I mean smaller in terms of interactions—it can be a little more compressed in space.)