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
可以看出它与我们的计算结果是一致的。