机器数与真值,原码反码补码

机器数与真值

1、机器数

机器数是带符号的,在计算机用一个数的最高位存放符号,正数为0,负数为1.

(假设字长为 8 位)

 3 的机器数 0000-0011
-3 的机器数 1000-0011

2、真值

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

为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值

机器数      -->   真值
0000-0011   -->    3
1000-0011   -->   -3

原码反码补码

1、原码

符号位加上真值的绝对值,即用第一位表示符号,其余位表示值

 5[原]  --> 0000-0101
-5[原]  --> 1000-0101

2、反码

反码的表示方法是:

  • 正数的反码是其本身

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

 5[反] = 0000-0101
-5[反] = 1111-1010(原码:1000-0101)

3、补码

补码的表示方法是:

  • 正数的补码就是其本身

  • 负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

 5[补] = 0000-0101
-5[补] = 1111-1011(反码 1111-1010 --> 末位加一得补码)

深入理解

posted @ 2021-10-18 16:44  egu0o  阅读(1026)  评论(0编辑  收藏  举报