补码的原码怎么算出来?

如题所述

以补码10010110为例,有两种计算方法求原码:

算法1: 

补码=原码取反再加1的逆运算。

10010110是补码,应先减去1变为反码,得10010101;

由反码取得源码即除符号位外其他为按位取反,得11101010,即十进制数的-106。

算法2:

负数补码速算法,由最低位(右)向高位(左)查找到第一个1与符号位之间的所有数字按位取反的逆运算

10010110是补码,符号位与最后一个1之间的所有数字按位取反,得11101010

扩展资料

计算机系统中的补码和原码:

在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。原码不能直接参加运算,可能会出错。

例如数学上,1+(-1)=0,而在二进制中00000001+10000001=10000010,换算成十进制为-2。显然出错了。

参考资料:百度百科-补码

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜