计算机内数据的存储是以二进制数的补码形式存在的。
那么什么是补码呢?
这里要涉及到二进制数的原码、反码、补码等存储方式的概念。
机器编码有原码、反码、补码、移码、阶码等。
-
-
-
- 原码
- 原码概念
- 原码
-
-
计算机中所有的二进制数均用0、1编码表示,数字的正、负也不例外,如果一个机器数字长是n的话,约定最左边1位作为符号位,其余n-1位用于表示数值。在符号位上,用0表示正,用1表示负。数值位表示真值的绝对值。凡不足n-1位的,小数在最低位右边增加0;整数则在数值位的最高位(不是符号位)左边增加0,补足n-1为。这种计算机的编码形式叫做原码。
原码的表示形式:符号位+二进制数值
例如十进制数12,它的二进制原码为[0000 1100],最高位0表示符号+(正)。
有符号的二进制编码如下图所示:
图 1 8bit机器
例如在8bit的机器内,小数和整数的表示:
小数:[+0.1011]原=0.1011000,补足8位:
0 |
1 |
0 |
1 |