首页  /  C语言教程  /  移位运算符  /  

移位运算符

点击打开在线编译器,边学边练

<<>>运算符,通过箭头方向可以很好的辨别,分别是C语言位运算符中的左移运算符和右移运算符,如表达式13<<2,它的运算过程为:13的用二进制(四个字节,不考虑符号)表示为,0000 0000  0000 0000  0000 0000  0000 1101,那么向左移两位,右侧补0,则变为0000 0000  0000 0000  0000 0000  0011 0100  换成十进制即变为52,大家可以自行验证。


同理,再举一个例子,如表达式25>>3,表示25的二进制位向右移三位,由

0000 0000  0000 0000  0000 0000  0001 1001 变为0000 0000  0000 0000  0000 0000  0000 0011 即十进制3


大家可以自行计算验证,也可以用过代码实现如下:

#include<stdio.h>
int main()
{
	int a,b;
	a=13<<2;
	b=25>>3;
	printf("a=%d,b=%d\n",a,b);
	return 0;
}

运行结果如下:

a=52,b=3

请大家理解后务必上机实验


移位运算符的作用:

       1.左移N位的本质是乘以2的N次方

       2.右移N位的本质是除以2的N次方


本文固定URL:https://www.dotcpp.com/course/603

上一课:位运算 下一课:&按位与运算符
第一章 C语言的过去与未来
第二章 C语言快速入门
第三章 C语言的数据类型
第四章 C语言中的基本输入输出
第五章 运算符和表达式
第六章 C语句和程序流
第七章 函数
第八章 数组
第九章 指针
第十章 复合结构
第十一章 文件操作
第十二章 预处理
第十三章 位运算
Dotcpp在线编译      (登录可减少运行等待时间)