C에서 음수를 처리하는 방법 (feat. 2의 보수, 2's compliment)
1. 우선 2의 보수가 무엇인지 알아보자. 2의보수란 어떤 수를 커다란 2의 제곱수에서 빼서 얻은 이진수이다. 2의 보수는 프로그래밍 언어에서 음수처럼 취급된다. 여기서 말하는 음수는 이러하다. 기본적으로 프로그래밍은 0과 1로 표현할 수 밖에 없는데 그렇다면 음수를 표현할 수가 없어서 2의 보수를 음수로 사용하는 것이다. 음수를 사용할때는 MSB는 부호를 표현하는 bit로 남겨두고 나머지 bit를 통해 수를 표현한다. 2. 2의 보수 구하는걸 해보자. 2의 보수는 1의 보수를 통해 구하면 된다. 6자리의 이진수(011100)의 2의보수를 구해보자. 2.1 한자리수 큰 2진수로 2의보수 구하기 1000000 (64) --> 7자리 2진수 -) 011100 (28) ------------------ 100..
프로그래밍
2022. 4. 17. 21:49