int main()
{
signed int bit=512, mBit;
{
mBit = ~bit;
bit = bit & ~bit ;
printf("%d %d", bit, mBit);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
一个.0,0
b.0,513
c.512,0
d.0,-513
伙计们,我没有这个问题的答案,也无法解释question.so你可以请提供你的答案跟正确的解释.
正确的答案是:http://ideone.com/frKOz
bit & ~bit总是导致零(1000000000 & 0111111111).编辑:为什么是mbit-513?
请参阅有符号整数处理的说明:http://www.rwc.uc.edu/koehler/comath/13.html