build half adder. sum = xor, carry = and