1.原码:为二进制表示十进制。
正数:首位为0,后7位为该数的值。列如:0 0000001=1;
0 0000100=4;
由此可得出正数原码的范围为-1;
负数:首位为符号位:1。后七位为该数的绝对值。列如1 0000001=-1;
1 0000101=-5;
由此不难看出负数的原码范围为-(-1);
所以原码的范围为 -(-1)~
-1。
还有一种通过取值种类个数方法判断原码的范围 8个二进制位。得出可以有种数字组合。因为正数和负数的范围是对称的,所以各占一半取值的个数为
个(此时正数和负数各包括+0和-0)。个数分别减去当取值为+0和-0的这个种类,正数和负数的个数都为=
-1(除去+0和-0两个种类)。即取值范围为 -(
-1)~
-1。
2.反码:
正数:反码=原码。范围不改变. -1。
负数:反码等于原码除去符号位,全取反。列如:1000 0001[原]=1111 1110[反]。
由此可以看出 : 负数反码的种类个数有 -1=负数原码的种类个数
-1。所以负数的反码范围也为 -(
-1)。
所以反码的取值范围为 -(-1)~
-1。
3.补码:
正数的补码=正数。范围不变。 -1。
负数的补码稍稍有些不同,补码中的1 000 0000的值有所变化,不为-0,而是-128.
负数的补码种类个数为 .所以负数补码的取值范围为 -
。
综上,补码的范围为 - ~
-1。