当我尝试左移 32 次时,我发现了一些连线问题。测试函数中的代码应该打印相同的结果 0x0,但我得到的是“ffffffff, 0”。任何人都可以提示代码有什么问题?谢谢!
int test(int n) {
int mask = ~0 << (32 + ~n + 1);
int mask1 = ~0 << (32 + ~0 + 1);
printf("%x, %x\n", mask, mask1);
return mask;
}
int main(){
test(0);
}