我有一些真实的数据。例如+2
和-3
。这些数据以2位补码不动点表示,具有4位二进制值,其中MSB表示符号位,小数位数为零。
所以+2 = 0 010
-3 = 1101
这两个数字的加法是(+2) + (-3)=-1
(0010)+(1101)=(1111)
但是在减法(+2)-(-3)
的情况下我该怎么办?
是否需要再次使用1101 (-3)
的两个补码并添加0010
?
答案 0 :(得分:0)
您可以在二进制文件中评估-(-3)
,而不是简单地将其与其他值相加。
使用二进制补码,评估数字的相反情况非常简单:只需将NOT二进制运算应用于除了较低有效位之外的每个数字。下面的等式使用 tilde 来表示单个位的NOT运算,并假设处理由n位(在您的示例中为n = 4
)提出的整数:
在您的示例中(使用非正式表示法):-(-3) = -(1101) = 0011