二進制數相乘可以直接按照十進制乘法進行,或者轉化為十進制數后相乘,再將結果轉化為二進制數。
下面結合具體兩個實例加以說明:
(1)二進制數111乘以1011,乘數1011的每一位分別與乘數相乘,得到111、1110、00000、111000,將其加起來,得到1001101,這便是二進制乘法最直接的解求過程;也可以將111轉化為十進制數7,1011轉化為十進制數11,顯然7乘以11等於77,再將十進制數77化為二進制數1001101,顯然1x2^6+1x2^3+1x2^2+1x2^0=64+8+4+1=77,所求結果完全正確。
(2)在匯編語言的乘法指令中,其本質就是按照二進制的最直接的乘法運算法則進行的,同上述前一個過程中的算法過程一樣。4EH和5DH在計算機中都以二進制代碼存儲,分別為1001110和1011101,求解的算法過程草稿如上圖所示,得到的結果為1110001010110,將結果轉化為十六進制數,即是1C56H。當然,這里也可以在乘法執行前,將乘數和被乘數轉化為十進制,得到結果7254后再轉化為二進制,最后再轉為十六進制,過程會相對繁瑣一些。