我不明白为什么 3 & 0x1111 = 1 ?看起来:
然而,当我在 ubuntu 14.04 上尝试这个时,我得到了 3 & 0x1111=1
。为什么?
int main() {
unsigned int a =3;
printf("size of a= %lu\n",sizeof(a));
printf("value of 3 & 0x1111= %d\n",a & 0x1111);
return 0;
}
最佳答案
将它们都转换为二进制:
0x1111 = 0001 0001 0001 0001
3 = 0000 0000 0000 0011
当你一点一点地对它们进行
&
时,你还期望什么?关于c - 为什么 (3 & 0x1111) = 1?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32254866/