Here each row contains a bit representation of a number.These numbers come from 1..N Exactly one number is missing.Find the bit representation of the missing number.

The interviewer asked me this question.

I said: "We can find the sum of the given numbers and subtract it from the sum of first n numbers(which we know as (N*(N+1))/2)"

He said that involves changing from base 10 to base 2.

Can you give me a hint on how I can solve it without changing bases?

You can `XOR`

together all numbers from `0`

..`N`

range, then `XOR`

the numbers from the array. The result will be the missing number.

**Explanation:** `XOR`

ing a number with itself always results in zero. The algorithm above `XOR`

s each number exactly twice, except for the missing one. The missing number will be `XOR`

-ed with zero exactly once, so the result is going to equal the missing number.

Note: the interviewer is wrong on needing to convert bases in order to do addition: adding binary numbers is easy and fun - in fact, computers do it all the time :-)