출처: https://devraphy.tistory.com/281 [개발자를 향하여:티스토리]
: 2진법에서 음수를 표현하는 방법
1의 보수는 2진수를 NOT 연산 해주면 된다!
ex) 10110 -> 01001
음수표기를 위해 앞에 부호로 1 01001 이라고 해주면 음수가 됨
음수는 절대값이 같은 양수와 더하면 0이 되는 수이다.
2진법에서도 이 원리를 이용해 음수를 표현하면 1010 + x = 1)0000
x는 0110이 되면 캐리를 제외한 값이 0000이 된다!
1의 보수에서 0은 2진법 4비트로 표현했을 때, 0000과 보수인 1111 두 가지가 생긴다. 하지만 2의 보수로 0을 표현하면 0000 하나로 일치가 된다.
1의 보수보다 저장 효율이 더 좋다.
= 동일한 저장공간으로 더 많은 수의 표현이 가능해진다.
1의 보수보다 수의 표현 범위가 넓다.
1의 보수보다 논리회로적인 측면에서 더 좋은 전기효율(전력)을 갖는다.