main()
{
int a=5,b,c;
b=!a;
c=~a;
printf("%d,%d\n",b,c);
}
b=0, c=-6
b는 5를 부정하니까 0인거같구요.
c부분이 이해가 안됩니다.
c는 5를 연산자앞에 물결무늬표시( ~ )는 비트반전이니까 1의 보수를 구해주는 거 아닌가요?
그래서 0101 --> 1010 이 되어 10 이 출력되어야 하는데
-6값이 찍히더라고요. 왜 그런지요
이해가 안되서 그런데요. c언어 초보자라 이해하기 쉽게 가르쳐 주시면 감사합니다.
|