Quantum Computing Simulation and Visualization  
010000101110011010100111101101101110100110111111000010101000100110101001101110101101100010100111100000111111010010100001101000101011111111100010101100111111100000101011011110011010101101111111

One Classical Bit

4 possible functions
    x  f0 f1 f2 f3     reversible: f1 = x,  f2 = NOT x
    0   0  0  1  1
    1   0  1  0  1

Two Classical Bits

16 possible functions
   x y  f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff
   0 0   0  0  0  0  0  0  0  0  1  1  1  1  1  1  1  1
   0 1   0  0  0  0  1  1  1  1  0  0  0  0  1  1  1  1
   1 0   0  0  1  1  0  0  1  1  0  0  1  1  0  0  1  1
   1 1   0  1  0  1  0  1  0  1  0  1  0  1  0  1  0  1

  (x,y) -> (x,f(x,y)) reversible: f5 = y,  fa = NOT y,  f6 = x XOR y,  f9 = NOT (x XOR y)

  f6: CNOT(x,y) -> (x, x XOR y)