昨天和十多位同学到哈工大去参加某著名互联网公司的实习生笔试,其中有一道题是“不用sizeof求计算机是32位还是64位”。我想的解法是使用位运算来实现,具体原理是将int型的数字1向左移动,直到最右边的bit位1移动到最左边为止。代码如下:
#include<stdio.h>
int main(int argc,const char **argv)
{
int shiftTimes = 0, a = 1;
while(a > 0)
{
a <<= 1;
shiftTimes ++;
}
printf("这是台%d位的计算机",shiftTimes+1);
return 0;
}