移位运算2的n次方

移位运算

它们都是双目运算符,两个运算分量都是整形,结果也是整形。
‘<<’左移:右边空出的位置补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;
}
发布了94 篇原创文章 · 获赞 193 · 访问量 5385

猜你喜欢

转载自blog.csdn.net/weixin_45884316/article/details/104186308