原码、反码、补码、移码的计算转换
创作时间:
作者:
@小白创作中心
原码、反码、补码、移码的计算转换
引用
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左取反;若补反,先变原码再反码;若有移,先变补码再变化
练习
热门推荐
书法“福”艺术:从传统到现代的传承与发展
镇江精华1日游路线推荐,吃喝玩乐一网打尽!
淮扬菜创新呼唤“繁花”盛开
小蠹虫肆虐,森林生态系统告急!
秋冬护松新招:环保防小蠹攻略
“森林杀手”肆虐,寿鹿山自然保护区如何应对?
烟雾缭绕护千年:故宫古建筑虫害防治新突破
虎皮鹦鹉繁殖技巧大揭秘:轻松提升成功率!
选购电视4大避坑指南:尺寸、画质、音响、智能功能详解
汽车的发动机多久做一次全面检查?
神经性头疼适合吃什么食物
湖南槟榔风波再起,口腔癌风险引热议
从ChatGPT到未来AI助手:技术演进之路
元宵节经典汤圆大揭秘:咸口汤圆的做法分享
湖北省妇女儿童活动中心:元宵节亲子DIY灯笼制作活动
“五医”融合,上海国际医学园区加速构建新质生产力
癌症复发后的心理支持:从专业建议到患者经验
纳米药物:终结癌症复发的新希望
健康饮食+规律运动:远离癌症的科学指南
免疫疗法新突破:癌症复发不再是难题?
香肠派对 vs 欢乐枪战:谁是吃鸡王者?
北京10座以上黄牌车限行规定及处罚标准详解
重庆安琪儿医生提醒:冬季儿童穿衣有讲究,这些原则要记牢
秋冬户外运动,这些穿搭让孩子活力满满!
查尔斯三世:从王子到国王的挑战之路
自封油枪的秘密:加油不跳枪?真相揭秘!
加油站摔伤谁之过?——从一起加油站事故看公共场所安全保障义务
睡眠质量差增加心脏肥大的风险
如何合理规划律师费支出:从选择到支付的全方位指南
从树栖到地栖:人类进化史上的关键转折