我想问一下为什么
小陈程序员 2014-07-05 08:49:20 用C++写个程序,如何判断一个操作系统是16位还是32位的?不能用sizeof()函数。
答案:
如果是32位系统下,这样写我可以理解:
int i = 65535;
cout << "i= " << i << endl; //输出65535
int j = 65536;
cout << "j= " << j << endl; //输出65536
16位系统下,我也可以理解:
int n = 65536;
cout << "n= " << n << endl; //输出0
int m = 65535;
cout << "m= " << m << endl; //输出-1
下面这个我就不理解了,输出的是16Bit,是不是写反了,第一个输出应该是16Bit,第二个输出才是32Bit啊???
int p = ~0;
if (p>65536)
{
cout << "32Bit" << endl;
}
else
{
cout << "16Bit" << endl;
}
求大神们解答解答……