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可以看到与我们计算结果是相符的。

棉花云1折起(49元), 国内BGP 美国 香港 日本

棉花云官网棉花云隶属于江西乐网科技有限公司,前身是2014年就运营的2014IDC,专注海外线路已有7年有余,是国内较早从事海外专线的互联网基础服务提供商。公司专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前公司研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务(SaaS),拥有丰富的国内BGP、双线高防...

这几个Vultr VPS主机商家的优点造就商家的用户驱动力

目前云服务器市场竞争是相当的大的,比如我们在年中活动中看到各大服务商都找准这个噱头的活动发布各种活动,有的甚至就是平时的活动价格,只是换一个说法而已。可见这个行业确实竞争很大,当然我们也可以看到很多主机商几个月就消失,也有看到很多个人商家捣鼓几个品牌然后忽悠一圈跑路的。当然,个人建议在选择服务商的时候尽量选择老牌商家,这样性能更为稳定一些。近期可能会准备重新整理Vultr商家的一些信息和教程。以前...

3C云1核1G 9.9元 4核4G 16元 美国Cera 2核4G 24元

3C云互联怎么样?3C云互联专注免备案香港美国日本韩国台湾云主机vps服务器,美国高防CN2GIA,香港CN2GIA,顶级线路优化,高端品质售后无忧!致力于对互联网云计算科技深入研发与运营的极客共同搭建而成,将云计算与网络核心技术转化为最稳定,安全,高速以及极具性价比的云服务器等产品提供给用户!专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松...

c语言移位运算符为你推荐
暴力破解rar求暴力破解rar压缩包软件5e5e5e如何更改bootstrap navbar的颜色 03 Topics 03 Ruby China腾讯合作伙伴大会腾讯的合作伙伴都有particular教程怎样做ae粒子云效果微盟价格做微盟平台的销售怎么样,有前景吗aviconverter跪求AVIConverter V1.0下载地址driversbackup为什么电脑开机时一直进backup systemps5教程PS5安装教程? 更改hosts那一步具体怎么做?android_secureandroid secure文件是什么?在手机的哪里455端口sangfor防火墙如何禁用455端口
上海服务器租用 合租服务器 cn域名备案 lamp bandwagonhost 10t等于多少g 免费ftp站点 java虚拟主机 宁波服务器 135邮箱 双12 厦门电信 主机管理系统 游戏服务器出租 畅行云 主机返佣 服务器硬件配置 阿里云邮箱个人版 杭州电信宽带 谷歌搜索打不开 更多