Dotcpp  >  编程教程  >  C语言位运算  >  C语言移位运算符详解(配实例作业)

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语言中的基本输入输出
第五章 C语言运算符和表达式
第六章 C语句和程序流
第七章 C语言函数
第八章 C语言数组
第九章 C语言指针
第十章 C语言结构体和共用体
第十一章 C语言文件操作
第十二章 C语言预处理
第十三章 C语言位运算
第十四章 附录
Dotcpp在线编译      (登录可减少运行等待时间)