您的位置首页百科知识

什么是原码 补码 反码

什么是原码 补码 反码

的有关信息介绍如下:

什么是原码 补码 反码

有符号数,有三种表示方法,即原码、反码和补码。

在计算机系统中,数值一律用补码来表示和存储。

在计算机系统中,原码和反码,都是不存在的。

==================

数值 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 的补码

忽略进位,只保留八位,结果就完全正确。

这就实现了减法运算。

原码和反码,都没有这种功能。

所以,计算机中,根本就没有原码和反码。