## ones complement

A system used in some computers to represent negative numbers. To negate a number, each bit of the number is inverted (zeros are replaced with ones and vice versa). This has the consequence that there are two reperesentations for zero, either all zeros or all ones.

... 000...00011 = +3 000...00010 = +2 000...00001 = +1 000...00000 = +0 111...11111 = -0 111...11110 = -1 111...11101 = -2 111...11100 = -3 ...

Naive logic for ones complement addition might easily conclude that -0 + 1 = +0.

The twos complement avoids this by using all ones to represent -1.