c语言左移右移举例 C语言按位左移运算规则?

C语言按位左移运算规则?在C语言中,按位左移的运算符是<<,其规则如下:对于操作a<<;LTN,1根据每个二进制值将n位移到高位(写入左侧);2舍入最高位(最左侧)n位;3在最低位(最

C语言按位左移运算规则?

在C语言中,按位左移的运算符是<<,其规则如下:

对于操作a<<;LTN,

1根据每个二进制值将n位移到高位(写入左侧);

2舍入最高位(最左侧)n位;

3在最低位(最右边)填充n个零。

简单示例如下:

示例1

0x12<<< 3=>

b00010010<< 3=>

b10010可以编写以下程序来验证:

#include<stdio。H>void check(char a,int n){printf(“0x%HHx<<;lt)}%D=0x%HHxn”,a,n,a<<N)}int main(){check(0x12,3)check(0x9e,2)return 0}

它的运行结果是

0x12< 3=0x900x9e< 2=0x78

可以看出它与我们的计算结果是一致的。