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
好吧,我知道了,謝謝 –