더북(TheBook)

지금까지 특정한 숫자가 1의 보수와 2의 보수를 거쳐 음수로 표현되고 뺄셈이 수행되는 과정을 알아보았습니다.

이제 앞의 예제 코드에서 ~10의 결과가 -11인 것도 이해할 수 있을 것입니다. 특정 숫자 a를 음수로 표현하려면 1의 보수를 취한 값에 1을 더하면 되므로 (~a) + 1을 하면 됩니다. 즉, -a = = (~a) + 1이라고 할 수 있습니다. 그러므로 (~a) = = -a -1이라고도 표현할 수 있습니다. (~10) = = -10 - 1이므로 -11이 나오는 것입니다.

complement.c

#include <stdio.h>
 
main() {
    int c = 10;
    printf("%d\n", ~c);
}

실행 결과

-11

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.