原码,反码,补码,移码(计算机组成原理知识点总结)

在总结原码,反码,补码,移码之前,应该对于一些概念有所了解。
1.在计算机中参与运算的机器数有两大类:有符号数和无符号数。
顾名思义:有符号就是有正负符号,无符号数就类似于绝对值只有正数。通常情况下,我们默认有符号数值的第一位是他的符号位。
2.计算机中,小数被定为两类:定点表示和浮点表示。
定点表示也就是机器数中小数点的位置是不变的,约定他的位置。当然被约定的位置可以是任意一位,但是为了方便使用,计算机有两种定点约定:小数点位于最高数值位之前或最低数值位之后。所以也不难理解:小数点位于最高数值位之前就是定点小数(纯小数),小数点位于最低数值位之后就是定点整数。
浮点表示也就是小数点的位置是会变动的。
有符号数的机器表示形式有原码,补码,反码,移码。为了便于理解我大多都是以例子的形式展现出来。例子以八位二进制来表示。

原码

整数:
+1101 —>0,000 1101
-1101 —>1,000 1101
小数:
+0.1101 —> 0.110 1000
-0.1101 —>1.110 1000

1.最高位是符号位。
2.八位表示范围为-127~127
3.数值0的表示方式有两种0,000 0000;1,000 0000

反码

整数:
+1101—> 0,000 1101
-1101—>1,111 0010
小数:
+0.0110—>0,011 0100
-0.0110—>1,100 1111
1.最高位位符号位
2.八位表示范围为-127~127
3.数值0 的表示方式有两种0.0000;1.1111

补码

整数:
+1010—>0,000 1010
-1010—>1,111 0110
小数:
+0.1010—>0.101 0000
-0.1010—>1.011 0000
1.最高位为符号位
2.八位表示范围为-128~127
3.数值0的表示方法唯一:0000 0000
好的总结一下规律:对于正数来说,原码反码补码都是其本身,对于负数来说,反码相当于按位取反,补码则是按位取反后加一。

移码

移码常用来表示浮点数的阶码。
它只能用来表示整数。
在真值上加一个偏移量,通常取2的n次方。
整数:
+10101—>1,001 0101
-10101 —>0,110 1011

1.移码的0的表示方式唯一:1+n个0。
2.一个真值的移码和补码就差一个符号位。也就是说:符号位取反可以实现两者的相互转换。
3.移码全0表示的是最小值-2的n-1次方。全1时表示最大值2的n次方-1。


版权声明:本文为m0_50210478原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。