Problems with the Sign-Magnitude Method
Although the sign & magnitude method uses simple representation ideas (one bit for the sign and the rest for the number itself,) working with sign & magnitude numbers creates a few noticeable issues that we just can't ignore:
- Checking whether we are adding negative or positive numbers, and checking which one needs to be subtracted would take significant computational time (making the computer work slower.)
- When subtracting numbers, the decision of how many bits need to be 'borrowed' also takes significant time.
- The number $0$ has two different representations, which shouldn't happen in a representation system: $00000...00_2$ and $10000...00_2$ (that is, 'positive zero': $+0$ and 'negative zero': $-0$.)
To prevent a computer from spending extra time on making decisions concerning adding or subtracting numbers, instead of doing these operations in a straightforward way, and to eliminate the ambiguity with the representation of $0$, computers use complement systems to represent integers.