移位运算
它们都是双目运算符,两个运算分量都是整形,结果也是整形。
‘<<’左移:右边空出的位置补0,其值相当于乘以2。
‘>>’右移:左边空出的位,如果是正数则补0,若为负数则补0或1,取决于所用的计算机系统OS X中补1。其值相当于除以2。
移位运算2的n次方公式
2^n=1<<n;
移位运算实际应用——判断整数N是否为2的阶次方
#include "studio.h"
int main()
{
int i=16;
int n;
printf("输入一个int类型整数:");
scanf("%d",&n);
if(n>1<<(i-1))
printf("\n输入超出范围!!\n");
else{
for(i=0;i<16;i++){
if(n==1<<i)
{
printf("\n整数%d是2的%d次方!\n",n,i);
return1;
}
}
printf("整数%d不是2的阶次方。",n);
return0;
}