어떤 비트 연산보다도 2의 보수라는 것이 뭔지 몰라서 인터넷을 찾아보다가 기억을 하기 위해 따로 정리하기로 하였다. 통용적으로 사용되는 2의 보수와 C언어에서 통용되는 2의 보수가 약간 다르다. 우선 가장 큰 비트를 우리는 부호를 표현하는 비트로 놔두어 계산한다. 0이면 양수, 1이면 음수를 표현하게 한다. 0000 0000 .... 0000 1111 = 15 1000 0000 .... 0000 1111 = -15 하지만 이런식으로 표현해버리면 연산과정에서 오버헤드가 높게 발생하고 0을 가리키는 수가 2개가 되어버린다. 0, -0 차이가 없다. 0000 0000 .... 0000 0000 = 0 1000 0000 .... 0000 0000 = -0 때문에 컴퓨터에서 사용하는 2의 보수는 다르게 계산한다...