unsigned int x;
unsigned int y;
x = 0x66;
y = 0x39;
unsigned z;
z = ~x | ~y;
printf("%dn",z);
我的代码是这样的,我想计算~x|~y,我定义z为无符号,但z仍然是负数。为什么?这是~x中的问题吗?那么计算机中的~x运算是什么呢。谢谢
您告诉printf
打印一个签名的输入,因此它将相应地解释其输入。尝试printf("%un", z);
。