原码、反码、补码、移码的计算转换
创作时间:
作者:
@小白创作中心
原码、反码、补码、移码的计算转换
引用
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左取反;若补反,先变原码再反码;若有移,先变补码再变化
练习
热门推荐
如何设计一套专属孩子的居家运动计划?让孩子动起来,快乐又健康!
《斗龙战士》第七季:阿尔里达星兽基地的秘密
斗龙战士第七季:天乐大战黑亡龙
参苓白术散:冬季养生的明智之选
中医穴位养生,告别脾虚烦恼
每天7辆新能源车起火,灭火器这样配最安全
《草木人间》:蒋勤勤演绎传销母亲获大奖,导演创新中式商业片
2024贵州高考新政:96个专业平行志愿,投档方式大调整
大庆医院进社区,普及疝气防治知识
均衡饮食,远离疝气困扰
哈尔滨冰雪大世界免费开放!全球最大冰雪乐园等你来
哈尔滨至绥化冬季自驾攻略:121公里冰雪之旅
绥化至哈尔滨最新列车时刻表:4趟列车票价19.5元起
熊猫为啥不吃香蕉?爆笑段子揭秘
蒋勤勤育儿经:用《少年新知》培养孩子独立思考力
热映《小小的我》:蒋勤勤演绎脑瘫儿母亲的爱与挣扎
传统文化打底,全面发展护航:蒋勤勤的育儿智慧
蒋勤勤再获影后:陈建斌助力成就演技突破
黄海所对虾AHPND防控技术获权威认可
冬季对虾养殖疾病预防指南
朋友圈安全指南:这些坑千万别踩!
三七与云南京白药:神奇药效揭秘
云南白药的秘密武器:三七粉的神奇功效
三七最佳采收期揭秘:3-4年药效最佳
证监会:T+0交易制度存分歧,当前实施时机不成熟
期货T0交易指标全解析:从MACD到均线,如何组合使用
北京到厦门怎么玩?八大景点+三种交通方案全攻略
楼市迎重大利好:一线城市取消住房标准,广州公积金贷款提至160万
春节海南游,避寒享暖阳
三亚旅游旺季即将来临,你准备好了吗?