#include <stdio.h>
int main (void)
{
int num1=20;
int result1;
result1= ~num1;
printf("비트 단위 ~ 연산의 결과 %d \n", result1);
return 0;
}
비트 단위 ~ 연산의 결과 -21
계속하려면 아무 키나 누르십시오...
이렇게 뜨는데 왜 ~20의 결과가 -21인지가 이해가 안되네요
0000 0000 0000 0000 0000 0000 0000 0000 0001 0100 (20)
1111 1111 1111 1111 1111 1111 1111 1111 1110 1011 (-21)
~ 연산이 비트단위로 1의 보수를 취한다는 것은 이해했습니다.
그런데 1111 1111 1111 1111 1111 1111 1111 1111 1110 1011 이 수가 왜 -21인지가 이해가 안됩니다
2진수로 보면은 어마어마하게 큰 수이지 왜 음수 -21인지가 이해가 안됩니다.
왜 1111 1111 1111 1111 1111 1111 1111 1111 1110 1011이 -21인가요?