原码、反码、补码解析

符号数

二进制符号数,其格式为
在这里插入图片描述
为了区别书写表示的带符号的二进制数和数字系统中的带符号二进制数,通常将用‘ + ’ ,‘ - ’ 表示正负的的二进制数称为符号数的真值,而把符号和数值一起进行编码的二进制数成为机器数。常用的机器数就分为原码、反码、补码

原码:

设 X1 = +Xn-1Xn-2…X0.X-1X-2…X-m, X2 = +Xn-1Xn-2…X0.X-1X-2…X-m

[X1 ] = 0Xn-1Xn-2…X0.X-1X-2…X-m, [X2] = 1Xn-1Xn-2…X0.X-1X-2…X-m
首位0表示正,首位1表示负

整数X:
[X] = X      (X>=0)
[X] = 2n - X     (-2n<X<0)
小数X:
[X] = X      (X>=0)
[X] = 1-X     (-1<X<0)

反码:

反码的符号位与原码相同,正数的反码的数值位与该数真值的数值位相同,负数的反码的数值位为其真值数值位按位取反
整数X:
[X] = X     (X>=0)
[X] = 2n+1-1+X      (-2n<X<0)
小数:
[X] = X     (X>=0)
[X] = 2-2-m+X      (-1<X<0)

补码:

补码=反码在最低为加一
整数X:
[X] = X     (X>=0)
[X] = 2n+1+X      (-2n<X<0)
小数:
[X] = X     (X>=0)
[X] = 2+X     (-1<X<0)

发布了43 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/include_IT_dog/article/details/90730005