Twos complement
<data> A system used in some computers to represent negative numbers in
binary.
Each
bit of the number is inverted (zeros are replaced with ones and vice versa), as for
ones complement, but then one (000...0001) is added (ignoring overflow).
This avoids the two representations for zero found in ones complement by using all ones to represent -1.
... 000...00011 = +3 000...00010 = +2 000...00001 = +1 000...00000 =
0 111...11111 = -1 111...11110 = -2 111...11101 = -3 ...
This representation simplifies the logic required for addition and subtraction, at the expense of a little extra complexity for negation.