With the exception of right shift, the operations on signed integers are exactly the same at the bit level as it is for unsigned integers.
In particular addition is performed the same way.
The example above shows that this fact determines the representation of negative values.
That is, for a given integer b of one of the C data types, how should the negative of b be represented?
As above the negative of b is a value a such that:
a + b = 0
This representation of negative values is easy to determine and is called the two's complement representation.