본문 바로가기

프로그래밍/미분류

비트 인버트는 선형적인가?

int main()
{
unsigned short i;
unsigned short inv;
unsigned short ineg;

for(i = 0 ; i < 0xFFFF; i++)
{
inv = ~i;
ineg = 0xFFFF - i;
if(inv != ineg)
{
printf("For %d, ~i (%d) != 0xFFFF - i (%d)\n", i, inv, ineg);
}
}
return 0;
}

지금 생각하면 너무 당연하게 둘이 같아야 하는데, 잠결에 이게 아닐 것 같아서 일찍 출근했다. i가 선형적으로 변할 때, 그 인버트된 값도 선형적이다.