今天复习了下C++,总结了这两种方法用于判断操作系统的位数,但第一种方法只能用于判断是32位以上还是16位的,不能判断是32位还是64位的,因为地址空间在32位和64位系统下都是一样的。第二种方法可以判断。
第一种方法:用sizeof()判断
#include<iostream>
using namespace std;
int main()
{
char *p = NULL;
if(sizeof(p)==4)
cout<<"该操作系统是32位(或64位)的!"<<endl;
else
cout<<"该操作系统是16位的!"<<endl;
return 0;
}
第二种方法:判断~0的大小
#include<iostream>
using namespace std;
int main()
{
int a = ~0;
if(a>65536)
cout<<"该操作系统是32位(或64位)的!"<<endl;
else
cout<<"该操作系统是16位的!"<<endl;
return 0;
}