首页 > 其他 > 详细

原码、反码与补码

时间:2021-03-17 11:29:08      阅读:21      评论:0      收藏:0      [点我收藏+]

一.机器数与机器数的真值

1.机器数

一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是有符号的,计算机用机器数的最高位存放符号,正数为0,负数为1.

比如,十进制中的数+3,计算机字长为8位,转换为二进制就是0000 0011。如果是-3,那么就是1000 0011。这里的0000 0011和1000 0011就是机器数。

2.机器数的的真值

因为第一位是符号位,所以机器数的形式值就不等于真正的数值。

例如上边的有符号数1000 0011,其最高位代表负,其真正数值为-3,而不是形式值131。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值

二.原码、反码与补码的概念和计算方法

原码、反补码是机器存储一个具体数字的编码方式

1.原码

原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。例如8位二进制:1的原码就是0000 0001,-1的原码就是1000 0001。

因为第一位是符号位,所以八位二进制数的取值范围就是[11111111,01111111],即[-127,127]

2.反码

正数的反码就是其原码,负数的反码是在其原码的基础上,符号位不变,其余各个位取反。

例如,1的反码就是0000 0001,而-1的反码是1111 1110。

3.补码

正数的补码还是其原码,所以说,正数的原码、反码和补码是相同的。

负数的补码是在其原码的基础上,符号位不变,各位取反之后再加1(也就是反码加1)。

例如1的补码是0000 0001,而-1的补码是1111 1111

参考

https://zhuanlan.zhihu.com/p/91967268 继续深入了解可点击此链接

原码、反码与补码

原文:https://www.cnblogs.com/veani2/p/14548028.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!