c语言移位运算符C语言按位左移运算规则

c语言移位运算符  时间:2021-06-20  阅读:()

关于C语言的左移(<<)和右移(>>)

左移比较简单,右边补0(移几位就补几个0),左边丢掉。

右移比较复杂,右移分两种: (1)逻辑右移,左边补0(移几位补几位),右边移出去的丢掉。

(2)算术右移,左边补最高位(即原来的最高位是0就补0,是1就补1,因为最高位代表符号,这样可以保证负数不会变成正数),右边丢掉。

c语言,移位运算符>>

右移对符号位的处理和左移不同,对于有符号整数来说,比如int类型,右移会保持符号位不变,例如:10100110 >>5(假设字长为8位),则得到的是 11111101。

总之,在C中,左移是逻辑/算术左移(两者完全相同),右移是算术右移,会保持符号位不变.实际应用中可以根据情况用左/右移做快速的乘/除运算,这样会比循环效率高很多. 所以,short a=0xf245,即a=1111001001000101,经过右移后,b=a>>8;b=1111111111110010,即b=0xfff2。

注意是有符号右移为算术右移!!!

C语言按位左移运算规则

C语言中按位左移的运算符为<<,其规则如下: 对于操作a<<n, 1 按照二进制值每位向高位(书写上是向左)移动n位; 2 最高位(最左边的)n位舍去; 3 最低位(最右边)填加n个0. 简单起见,用char型举例如下: 例一 0x12 << 3 => B00010010 << 3 => B10010 000(这里最高位的三个0被舍去,其它依次左移,最低位补三个0) => 0x90 即0x12 << 3 = 0x90 例二 0x9E << 2 => B10011110 << 2 => B01111000 (最高位10舍去,最低位补两个0)=> 0x78 可以编写如下程序验证: #include?<stdio.h> void?check(char?a,?int?n) { ????printf("0x%hhx?<<?%d?=?0x%hhx ",?a,?n,?a<<n); } int?main() { ????check(0x12,?3); ????check(0x9e,?2); ????return?0; }其运行结果为 0x12?<<?3?=?0x90 0x9e?<<?2?=?0x78可以看到与我们计算结果是相符的。

wordpress外贸集团企业主题 wordpress高级推广外贸主题

wordpress外贸集团企业主题,wordpress通用跨屏外贸企业响应式布局设计,内置更完善的外贸企业网站优化推广功能,完善的企业产品营销展示 + 高效后台自定义设置。wordpress高级推广外贸主题,采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器,根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行自适应显示; 完美实现一套主题程序支持全部终端设备,保证网站在各...

香港 1核1G 29元/月 美国1核 2G 36元/月 快云科技

快云科技: 11.11钜惠 美国云机2H5G年付148仅有40台,云服务器全场7折,香港云服务器年付388仅不到五折 公司介绍:快云科技是成立于2020年的新进主机商,持有IDC/ICP/ISP等证件资质齐全主营产品有:香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机官网地址:www.345idc.com活动截止日期为2021年11月13日此次促销活动提供...

云基Yunbase无视CC攻击(最高500G DDoS防御),美国洛杉矶CN2-GIA高防独立服务器,

云基yunbase怎么样?云基成立于2020年,目前主要提供高防海内外独立服务器,欢迎各类追求稳定和高防优质线路的用户。业务可选:洛杉矶CN2-GIA+高防(默认500G高防)、洛杉矶CN2-GIA(默认带50Gbps防御)、香港CN2-GIA高防(双向CN2GIA专线,突发带宽支持,15G-20G DDoS防御,无视CC)。目前,美国洛杉矶CN2-GIA高防独立服务器,8核16G,最高500G ...

c语言移位运算符为你推荐
旺旺群发阿里旺旺如何群发信息?windowsmediawindows media player打开怎么设置存储区域网络网络存储技术的SAN(存储区域网络)的优点代发邮件邮件代发会不会有短信代发那么好的市场效益呢?java程序员招聘java工程师待遇如何全局钩子delphi 键盘全局钩子erp系统教程在一个公司里怎样去学ERPerp系统教程如何使用ERP系统操作?泛微协同办公系统泛微oa怎么样?我想了解一下,有用过的同仁帮忙!发表下自己的观点(天津)validdate怎样解决oracle报错is not a valid date and time
美国虚拟主机推荐 北京vps adman simcentric yardvps 全球付 优惠码 l5520 iisphpmysql 谷歌香港 网站保姆 线路工具 xen 52测评网 秒杀预告 免费申请个人网站 安徽双线服务器 美国独立日 香港亚马逊 空间登入 更多