int main()
{
signed int bit=512, mBit;
{
mBit = ~bit;
bit = bit & ~bit ;
printf("%d %d", bit, mBit);
}
return 0;
}
一个。 0,0
湾0,513
C。 512,0
d。 0,-513
伙计们我没有得到这个问题的答案,也无法解释这个问题。那么请你提供适当解释的答案。
答案 0 :(得分:5)
正确答案是d:http://ideone.com/frKOz
bit & ~bit
总是导致零(1000000000 & 0111111111
)。 编辑:为什么mbit
-513?
请参阅有符号整数处理的说明:http://www.rwc.uc.edu/koehler/comath/13.html