title: Two's complement binary form
body: <p>In a TC++ compiler, the binary representation of <strong>5</strong> is <strong>(00000000000000101)</strong>.
  I know that negative numbers are stored as 2's complement, thus <strong>-5</strong> in binary is <strong>(111111111111011)</strong>. The most significant bit (sign bit) is 1 which tells that it is a negative number.</p>
  
  <p>So how does the compiler know that it is <strong>-5</strong>?  If we interpret the binary value given above <strong>(111111111111011)</strong> as an unsigned number, it will turn out completely different?</p>
  
  <p>Also, why is the 1's compliment of <strong>5</strong> <strong>-6 (1111111111111010)</strong>?</p>