📅  最后修改于: 2020-12-30 04:31:38             🧑  作者: Mango
在上一节中,我们了解了不同的补码,例如1的补码,2的补码,9的补码和10的补码等。在本节中,我们将学习使用1的补码执行算术运算,例如加法和减法。我们可以使用1、2、9和10的补码执行加法和减法。
当我们添加两个二进制数时,可能存在三种不同的情况,如下所示:
情况1:当正数幅度较大时,将正数与负数相加。
最初,计算给定负数的1的补数。用给定的正数求和。如果得到末端进位进位1,则将其添加到LSB。
示例:1101和-1001
情况2:在负数幅度较大的情况下,将正值与负值相加。
最初,计算负值的1的补数。用正数求和。在这种情况下,我们没有得到末端进位。因此,取结果的1的补码即可得到最终结果。
注意:结果为负值。
示例:1101和-1110
情况3:两个负数的加法
在这种情况下,首先找到两个负数的1的补数,然后将这两个补数相加。在这种情况下,我们总是得到末尾进位,并被加到LSB中,为了得到最终结果,我们取结果的1的补码。
注意:结果为负值。
示例:五位寄存器中的-1110和-1110
以下是使用1的补码减去两个二进制数的步骤
注意:总是将减值减去减值。
范例1: 10101-00111
我们取1的补码,代号00111,得出11000。现在,求和。所以,
10101 + 11000 = 1 01101。
在以上结果中,我们得到了进位位1,因此将其添加到给定结果的LSB中,即01101 + 1 = 01110,这就是答案。
范例2: 10101-10111
我们取1的补差子10111,得出01000。现在,将两个数字相加。所以,
10101 + 01000 = 11101。
在以上结果中,我们没有得到进位位。因此,计算结果的1的补码,即00010,它是负数和最终答案。