机器数:原码、反码、补码
(TODO)
机器数
计算机中的数称为机器数。它是由:符号位+数值构成的,其中:
- 符号位中,0表示正,1表示负;
- 数值部分称为真值,真值可以理解为绝对值;
+52 = +0110100 = 0 0110100
机器数的表示方法:
- 原码
- 反码
- 补码
原码
最高位为符号位,其余为真值部分,其中符号位,0表示正,1表示负
优点:真值和其原码表示之间的对应关系简单,容易理解
缺点:
- 计算机中用原码进行加减运算比较困难
- 0的表示不唯一
- 8位数0的原码
- +0 = 0 0000000
- -0 = 1 0000000
- 8位数0的原码
反码
定义:对一个机器数X:
- 若X>0,$ [X]_反 = [X]_原 $
- 若X<0,$ [X]_反 = 对应原码的符号位不变,数值部分按位求反 $
补码
定义:对一个机器数X:
- 若X>0,$ [X]_补 = [X]_反 = [X]_原 $
- 若X<0,$ [X]_补 = [X]_反 + 1 $
机器数