无符号右移负数_关于负数的右移与无符号右移运算小结
对于带符号右移,若为负数,则在存储时首位表示符号位,其值为1,表示该值是负数的移位,在移位过程中,高位补1,若符号位是0,表示是正数,在移位过程中高位补零,两者的前提是符号位保持不变:
对于负数的右移:因为负数在内存中是以补码形式存在的,所有首先根据负数的原码求出负数的补码(符号位不变,其余位按照原码取反加1),然后保证符号位不变,其余位向右移动到X位,在移动的过程中,高位补1.等移位完成以后,然后保持符号位不变,其余按位取反加1,得到移位后所对应数的原码。即为所求。
举例1:
-100带符号右移4位。
-100原码: 10000000 00000000 00000000 01100100
-100补码: 保证符号位不变,其余位置取反加1
11111111 11111111 11111111 10011100
右移4位 : 在高位补1
11111111 11111111 11111111 11111001
补码形式的移位完成后,结果不是移位后的结果,要根据补码写出原码才是我们所求的结果。其方法如下:
保留符号位,然后按位取反
10000000 00000000 00000000 00000110
然后加1,即为所求数的原码:
10000000 00000000 00000000 00000111
所有结果为:-7
举例2:
-100无符号右移4位。
-100原码: 10000000 00000000 00000000 01100100
-100补码: 保证符号位不变,其余位置取反加1
11111111 11111111 11111111 10011100
无符号右移4位 : 在高位补0
00001111 11111111 11111111 11111001
即为所求:268435449
总结:正数的左移与右移,负数的无符号右移,就是相应的补码移位所得,在高位补0即可。
负数的右移,就是补码高位补1,然后按位取反加1即可。
————————————————
版权声明:本文为CSDN博主「等你看完风景」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/king_msky/article/details/17221973
无符号右移负数_关于负数的右移与无符号右移运算小结相关推荐
- java 二进制 表示负数_正数负数的二进制表示
一.问题来源 "为毛 -x=!x+1 ??? 其中x为一任意int型正整数,左式表示取x的相反数后的二进制形式,右式表示先将x的二进制按位取反后再加一得到的二进制形式. 左右两个二进制 ...
- java中特殊符号怎么校验_校验中文、空格和特殊符号的方法
开发中经常校验输入的文字合法性,中文.空格和特殊符号等.总结一下这些问题的校验方法: 1)中文 js实现: function ischinese(str){ if(/[^\x00-\xff]/g.te ...
- java符号三角形问题_实验四 回溯算法和分支限界法 符号三角形问题
基本题一:符号三角形问题 一.实验目的与要求 1.掌握符号三角形问题的算法: 2.初步掌握回溯算法: 二.实验题图 下面都是"-".下图是由14个"+"和14个 ...
- 电脑连接热点无internet访问权限_电脑连接无线网,显示无网络访问权限
展开全部 一.路由器上网设置不成功 如果无线路由器上网设置不成功,也就是32313133353236313431303231363533e59b9ee7ad9431333365666233路由器与运营 ...
- python无水印下载视频_用 Python 下载抖音无水印视频
说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 首先,我 ...
- k线符号图解大全_八种常见的K线符号
1.红K(阳线):股价之收盘价高于开盘价,通常以红色表示,市场惯称「收红」. 2.绿K(阴线):股价之收盘价低于开盘价,通常以黑色表示,市场惯称「收黑」. 3.带下影线的红K或黑K:不论是红K棒还是黑 ...
- Java美元符号取值_如何在java中将带有美元符号的字符串数值转换为BigDecimal?
BigDecimal Constructor采取有效的数字串. The String representation consists of an optional sign, '+' ('\u002B ...
- 关于负数的右移与无符号右移运算小结
转载备忘,原博:https://blog.csdn.net/king_msky/article/details/17221973 对于带符号右移,若为负数,则在存储时首位表示符号位,其值为1,表示该值 ...
- 负数与正数相乘怎么算_负数乘法_正负符号_两个正负符号的规则_乘法表
做乘法时: 例子 × 正正得正: 3 × 2 = 6 × 负负得正 (−3)× (−2) = 6 × 负正得负: (−3)× 2 = −6 × 正负得负: 3 ×(−2) = −6 是真的,负负得 ...
最新文章
- 患者痛不欲生,但AI说:别给她开止疼药
- Python 学习之二: module, import 与 import as
- iOS 毛玻璃效果的实现方法
- MySQL 搜索指定时间范围数据, 时间字段有索引但是还是很费时
- SQL server management 查询所有触发器
- C++ Unicode和ANSII转换
- VMware 11安装Mac OS X 10.10 及安装Mac Vmware Tools.
- MFC下运行控制台不显示黑屏
- 作数学题应不该用计算机,数学奥数考试
- 论文的重复率多少算正常?
- 导航中的常用坐标系解析
- bios sgx需要开启吗_为什么内存频率只有2133比实际低?主板开启XMP提高内存频率方法...
- windows内核开发学习笔记十七:IRP 和 IO_STACK_LOCATION 的交互
- 性能调优--gzip、缓存、content-download、逐针渲染、Queueing、动态延迟加载、最小化主线程工作
- 《程序员》2011年12期精彩内容:企业开发的困境与变局
- fcpx插件:Stupid Raisins Grid Pop(网格弹出布局模板)
- unity 字幕滚动
- Bootstrap的工具提示(Tooltip)
- while read line只读一行或者最后一行读不到
- Matlab p文件解密,pcode解密 MATLAB .p 转换为.m文件
热门文章
- stringreader_Java StringReader skip()方法与示例
- mysql log4jlogger_mybatis结合log4j打印SQL日志
- 计算机专业技能高考试题素材,计算机技能高考模拟试题
- c#格式化字float_C#中的float关键字
- 6大分布式定时任务对比
- python爬虫lxml xpath测试
- 六、PyQt5 QTreeWidget操作,获取树控件所有2级目录内容
- 解决go build报错cannot find main module; see ‘go help modules‘
- 无法打开caffe.pb.h, no such file or directory错误
- [ZJOI2007]时态同步 树形DP