-2^16 = (-2) ^ 16 = 0b111...1110 ^ 0b10000 = 0b111...11011110 = -18
But since philosophically a signed int has '1's in every bit from the MSB to infinity towards the left, it should thus be -0 not 0.