什么是原码 补码 反码
的有关信息介绍如下:有符号数,有三种表示方法,即原码、反码和补码。
在计算机系统中,数值一律用补码来表示和存储。
在计算机系统中,原码和反码,都是不存在的。
==================
数值 0,在八位机中,就是 0000 0000。
+1,就是加上一,即为:0000 0001。
+2,就再加上一,即为:0000 0010。
其他正数,依次递增即可。。。
最后的是+127,即为:0111 1111。
以上这些,就是正数的补码。
----------
负数,就是从 0 往下减。
-1 就是 0000 0000-1,取八位的结果,
那么,-1 就是:1111 1111 = 255(十进制)。
同理,-2 就是:1111 1110 = 254。
其他负数,依次递减即可。。。
最后的是-128,即为:1000 0000 = 128。
以上,就是数值,存在计算机中的补码。
求负数的补码,计算公式是:【 256 + 这个负数 】。
如果需要二进制,就自己变换吧。
==================
十进制数的运算,有个特点,看下面的算式:
25 - 1 = 24
25 + 99 = (一百) 24
忽略进位,这两种算法,就具有相同的功能。
因此,99,就是-1 的补数。
在二进制时,255 就是-1 的补码。
==================
借助于补码,就可以把减法,转换成加法运算。
这就可以:简化计算机的硬件。
如,减法运算: 59-31 = 28。
在计算机中,用补码的加法运算如下:
59 的补码=0011 1011
-31 的补码=1110 0001
-相加-------------
得: (1) 0001 1100 = 28 的补码
忽略进位,只保留八位,结果就完全正确。
这就实现了减法运算。
原码和反码,都没有这种功能。
所以,计算机中,根本就没有原码和反码。