0
请帮助我使用下面的二进制补码乘法逻辑。两位补码形式的乘法运算
Actual cropped
无符号5 [101] 3 [011] 15 [001111] 7 [111]
Two的排版。 -3 [011] -9 [110111] -1 [111]
我无法理解,当两者的位相同时,无符号和二进制补码乘法的实际乘法是不同的。
请帮助我使用下面的二进制补码乘法逻辑。两位补码形式的乘法运算
Actual cropped
无符号5 [101] 3 [011] 15 [001111] 7 [111]
Two的排版。 -3 [011] -9 [110111] -1 [111]
我无法理解,当两者的位相同时,无符号和二进制补码乘法的实际乘法是不同的。
有符号和无符号整数的乘法是由不同的规则执行的(例如不同于加法和减法)。
相同的位可以表示不同的数据,实际的解释取决于类型。
但是你能解释一下-3(101)和3(011)乘法是如何工作的吗 –
我不会描述它是如何在现代CPU中实现的,但是这个方案如下:乘法是在操作数的绝对值和结果的符号分开计算。因此,abs(-3)* abs(3)= 3 * 3 = 9被执行,并且结果的符号然后被反转,因为其中一个操作数是负的,另一个不是。这仅适用于已签名的操作数。无符号乘法不计算'绝对'值。 – Inspired
好吧,我知道了,谢谢 –