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经典外贸企业建站主题,经典配色扁平化简约设计+跨屏自适应移动端设备,特色外贸企业建站功能模块+在线Inquiry询单功能,更有利于Google等英文搜索优化和站点收录。采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera等;同时支持移动终端的常用...

hosteons:10Gbps带宽,免费Windows授权,自定义上传ISO,VPS低至$21/年,可选洛杉矶达拉斯纽约

hosteons当前对美国洛杉矶、达拉斯、纽约数据中心的VPS进行特别的促销活动:(1)免费从1Gbps升级到10Gbps带宽,(2)Free Blesta License授权,(3)Windows server 2019授权,要求从2G内存起,而且是年付。 官方网站:https://www.hosteons.com 使用优惠码:zhujicepingEDDB10G,可以获得: 免费升级10...

pacificrack:$12/年-1G内存/1核/20gSSD/500g流量/1Gbps带宽

pacificrack在最新的7月促销里面增加了2个更加便宜的,一个月付1.5美元,一个年付12美元,带宽都是1Gbps。整个系列都是PR-M,也就是魔方的后台管理。2G内存起步的支持Windows 7、10、Server 2003\2008\2012\2016\2019以及常规版本的Linux!官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款7月秒杀VP...

c语言移位运算符为你推荐
南宁虚拟空间请问虚拟空间在哪里买?excel大写金额在Excel中如何输入数字直接显示大写金额?renderpartialreact里面使隐藏的组件显示出来是addclass还是render手机软件开发工具做安卓软件开发需要哪些工具?java程序员招聘女java程序员好找工作嘛微信网页版登陆首页微信网页版怎么用?微信网页版怎么登陆?云办公平台Gleasy云办公平台解决了哪些问题?腾讯合作伙伴大会腾讯的合作伙伴都有动画分镜头脚本求份《仙剑奇侠传5》剧情动画分镜头脚本 越多越好防火墙技术应用常用防火墙技术有哪几种
景安vps VPS之家 如何注册网站域名 服务器配置技术网 arvixe java主机 国外服务器网站 老左博客 服务器怎么绑定域名 共享主机 789电视剧 linode支付宝 主机管理系统 谷歌台湾 中国域名 标准机柜 优惠服务器 服务器机柜 linuxvi 饭桶 更多