对于操作a<<;LTN,
1根据每个二进制值将n位移到高位(写入左侧);
2舍入高位(最左侧)n位;
3在最低位(最右边)填充n个零。
简单示例如下:
示例1
0x12<<<3=>
b00010010<<3=>
b10010可以编写以下程序来验证:
#include<stdio。H>voidcheck(chara,intn){printf(“0x%HHx<<;lt)}%D=0x%HHx\n”,a,n,a<<N)}intmain(){check(0x12,3)check(0x9e,2)return0}
它的运行结果是
0x12<3=0x900x9e<2=0x78
可以看出它与我们的计算结果是一致的。
C语言带符号数的左移右移搞不清楚?对于位操作,操作对象可以是有符号的或无符号的。如果运算符有符号且其值为负,则位操作如何处理运算符的“有符号位”取决于机器。左移运算符在右侧插入一个值为0的二进制位。右移运算符的行为>>;取决于左侧操作对象的类型:如果是无符号的,则在左侧插入一个值为0的二进制位;如果是有符号的,则在左侧插入一个有符号位的副本或一个值为0的二进制位,具体取决于特定的环境。
网站标题:左移运算符怎么计算C语言按位左移运算规则?-创新互联
链接分享:https://www.cdcxhl.com/article26/higjg.html
成都网站建设公司_创新互联,为您提供网站导航、电子商务、服务器托管、品牌网站制作、定制开发、做网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联