本帖最后由 ilikerome 于 2012-4-27 11:15 编辑
今个碰到个百思不得其解的事情,代码如下:
typedef unsigned short int USINT;
getbits()
{
USINT z=~0;
z=(z>>14);
printf(“%o”,z);
}
结果为:3
getbits()
{
USINT z=0;
z=((~z)>>14);
printf(“%o”,z);
}
结果为:177777
这是为什么啊?请大家指教,谢谢。
是在xp\visual C++ 6.0上出现的。 |