首页 文章

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

提问于
浏览
0

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

所以2 = 0 010

-3 = 1101

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

(0010)+(1101)=(1111)

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

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

1 回答

  • 0

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

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

    enter image description here

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

相关问题