原码、反码、补码、移码的计算转换
创作时间:
作者:
@小白创作中心
原码、反码、补码、移码的计算转换
引用
CSDN
1.
https://m.blog.csdn.net/qq_52964132/article/details/140052527
在计算机科学中,原码、反码、补码和移码是表示二进制数的四种不同方式。本文将详细介绍这四种编码方式的转换规则,并通过具体例子进行验证。
正数
对于正数来说,原码、反码和补码都是一样的,不会发生变化。因此,在计算时,首先需要查看第一位符号位,如果发现是正数,那么三者都不变。移码则是在补码的基础上将符号位取反。
负数
负数的编码转换规则相对复杂一些。
原码 & 反码
- 符号位不变
- 数值位都取反
反码 -> 补码
- 末尾加1
原码 <-> 补码
- 从右向左找到第一个“1”
- “1”左边所有的数值位按位取反
补码的相反数
- 取反(按位取反):将补码中的每一位取反,即0变为1,1变为0。
- 加1:在取反后的结果上加上1。
例子
假设有一个8位补码表示的数 00001001(即十进制的9),我们想要将其变为其相反数。
- 原数:00001001
- 取反后:11110110
- 加1后:11110111
因此,00001001 的相反数是 11110111,即十进制的 -9。
验证
为了验证这个结果,我们可以将 11110111 转换回十进制:
- 最高位是1,表示这是一个负数。
- 取反:00001000
- 加1:00001001
结果是9,但由于最高位是1,所以是 -9。
特殊情况
对于补码表示的最小值(例如8位补码的最小值是 10000000,即 -128),其相反数在补码系统中没有对应的正数表示,因为补码系统的正数范围比负数范围少1。在这种情况下,最小值的相反数仍然是它自己。
移码
移码是在补码的基础上将符号位取反。
方法总结
- 首先根据符号位判断正负
- 若为正,则都不变,移码变符号位;若为负,则需要进一步的分情况讨论
- 若为原反,符号不变数值变;若反补,单向末位要加1;若原补,从右到左先找“1”,1左取反;若补反,先变原码再反码;若有移,先变补码再变化
练习
热门推荐
国家经济战略中的“两重”“两新”“两业”及“8+9新产业”深度解析
怎么评估民间借贷的风险控制措施的有效性?
自建房房产证办理指南:流程、材料与法律要求详解
金叉指标源码如何编写
债券全价的计算方法及其影响因素
建筑专业大学生职业生涯规划指南
顺风车应如何保护乘客隐私?保护乘客隐私对顺风车行业有何重要性?
为什么有些人一吃到辣的就会满头大汗,甚至还会流鼻涕?
黑匣子是如何保存航空事故的关键线索?
老年人头晕都是脑梗吗?
国企和央企的区别
这座地铁领先的大城市,这次换了个打法
三河市推进专项信用报告应用,企业上市合法合规证明实现“一次办”
地热能开发的现状与潜力分析
3月使劲吃这菜,一开胃,二通便,三舒肝,顺应时节好养生!
大学就业:计算机类与电子信息类,优先选哪个?
胃酸反流吃什么食物比较好
正月廿一“麦子生日”:5道吉祥菜,藏着中国人最朴素的生存智慧
维生素摄取不足导致上火该如何处理
Go语言打包教程:从环境配置到发布部署
高考血检一般检查什么?抽血注意事项有哪些?
细胞壁的主要功能 细胞壁介绍
吉祥如意摆件的摆放讲究与风水布局指南
一件毛衣能产生7000伏电压!冬天静电的危害竟然这么大
苏州旅游攻略:园林、古镇与现代都市的完美交融
宁夏隆德:优化教育资源 推动城乡教育优质均衡发展
苏州大学档案查询流程详解,档案管理不再迷茫!
温州肯恩大学:一所中美合作的国际化大学
研究揭示RNA生物农药防控马铃薯害虫机遇与挑战
手机一边充电一边玩会爆炸真相是......