原码与反码补码总结

正数没有什么好说的,原码反码补码皆是一样的;

对于负数,要注意了:
只要是从补码推原码,一律是取反加一,例如下面一个例子:

补码----------------------------------------------------------------> 原码
1111 1111 1000 0001(-1)

下面以八位二进制进行举例:
补码----------------------------------------------------------------> 原码
0000 0000 0000 0000
0000 0001 0000 0001
……
0111 1111 127
1000 0000 -128
10000 0001 -127
……
1111 1111 -1

小结:有符号位八位二进制数值范围:-128~127(负数与非负数的个数一样:-128,-127,…-1共计128个负数,0,1,2,3,4…127共计128个非负数)

补码推导原码:
注意 :在OD中,寄存器中的值一般都是以补码形式出现的.!!!!!
1111 1111 取反为0000 0000
再加1,为00000001,由于它是一个负数
所以原码为1000 0001(-1)

小结:补推原:取反加1,添加符号位

原码推导补码 :
与补码推导原码有一点不同,
保持符号位不变,然后再取反加一
例子:已知10000001(-1)求其补码 (加1)
1000 0001(保持符号位不变,取反)-------->1111 1110-------------->1111 1111(-1的补码)

这里需要注意的是:如果将1000 0001看成补码的话,那么进行上面的"补推原"操作,
将会得到0111 1111(127)----->(添加符号位)1111 1111(-127)
也就是说补码位1000 0001的原码为-127
小结:原推补,保持符号位不变, 取反加1,

image.png

二进制与十六进制之间的转换:
二进制 十六进制
0000---------->0
0001----------->1

0010------------>2
0011------------>3

0100------------>4
0101------------>5

0110------------>6
0111------------>7

1000------------->8
10001----------->9

101 0------------>A
101 1------------>B

110 0------------>C
110 1------------->D

111 0----------->E
111 1------------>F

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可...
    yang2yang阅读 6,938评论 1 13
  • 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可...
    克里斯加德纳阅读 4,112评论 0 51
  • 一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1、机器数 一个数在计算机中的...
    点赞狂魔刀锋君已放弃治疗阅读 4,402评论 0 4
  • 书中关于原码、反码、补码和移码的定义如下(n是机器字长):原码: 反码: 补码: 移码: 原码, 反码, 补码的基...
    困卡阅读 16,297评论 2 8
  • 秋雨下了一整天,没有停的意思。我喜欢这样的日子,雾霾终于可以消散。更重要的是,只有这样的时候,父亲和母亲才会心安的...
    童若曦summer阅读 2,999评论 0 0

友情链接更多精彩内容