当没有借位的时候如何减去二进制?

时间:2015-08-02 07:16:38

标签: assembly binary

假设我想做下一个减法动作:

00000000 - 00000001

所以,当我尝试减去 0-1 时,我需要从左列借用,但是如果。像这样的情况。所有下一列都是零? 它只是一个Carry Flag例外吗?

感谢。

2 个答案:

答案 0 :(得分:1)

几乎就像在现代的中央银行业务中,没有必要为了借钱/借钱而有钱,所以不需要存在更高的数字来完成任何减法。相反,它是根据需要生成的。

一种解释是,根据定义,进位是从0减去1或从较小数字减去任何数字的结果。 (和/或加1到1 - 正如在另一个答案和注释中所解释的那样,减法最常用于将减法器的两个补码加到减数上。数学上这些是相等的)

另一种解释是计算机算术是以2 ^ 8(或2 ^ N)为模进行的,这使得矛盾结果成为可能",但它并不能解释进位。

答案 1 :(得分:0)

或现代硬件,你得到进位标志和两个补码结果so call like : x.doX("abc");

这就是1111 1111有时被称为-1

的原因