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


机器数与真值

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 --> 末位加一得补码)

深入理解


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM