两个补码数据的固定点减法

时间:2015-06-15 05:02:24

标签: twos-complement fixed-point

我有一些真实的数据。例如+2-3。这些数据以2位补码不动点表示,具有4位二进制值,其中MSB表示符号位,小数位数为零。

所以+2 = 0 010

-3 = 1101

这两个数字的加法是(+2) + (-3)=-1

(0010)+(1101)=(1111)

但是在减法(+2)-(-3)的情况下我该怎么办?

是否需要再次使用1101 (-3)的两个补码并添加0010

1 个答案:

答案 0 :(得分:0)

您可以在二进制文件中评估-(-3),而不是简单地将其与其他值相加。

使用二进制补码,评估数字的相反情况非常简单:只需将NOT二进制运算应用于除了较低有效位之外的每个数字。下面的等式使用 tilde 来表示单个位的NOT运算,并假设处理由n位(在您的示例中为n = 4)提出的整数:

enter image description here

在您的示例中(使用非正式表示法):-(-3) = -(1101) = 0011