2016 - 2024

感恩一路有你

左移运算符怎么计算 C语言按位左移运算规则?

浏览量:1388 时间:2021-03-10 15:00:05 作者:admin

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

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

C语言带符号数的左移右移搞不清楚?

对于位操作,操作对象可以是有符号的或无符号的。如果运算符有符号且其值为负,则位操作如何处理运算符的“有符号位”取决于机器。左移运算符在右侧插入一个值为0的二进制位。右移运算符的行为>>;取决于左侧操作对象的类型:如果是无符号的,则在左侧插入一个值为0的二进制位;如果是有符号的,则在左侧插入一个有符号位的副本或一个值为0的二进制位,具体取决于特定的环境。

左移运算符怎么计算 c语言左移一位 c语言 左移

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。