二進制數相乘能夠直接按照十進制乘法進行,或者轉化爲十進制數後相乘,再將結果轉化爲二進制數。算法
下面結合具體兩個實例加以說明:3d
(1)二進制數111乘以1011,乘數1011的每一位分別與乘數相乘,獲得1十一、11十、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,所求結果徹底正確。blog
(2)在彙編語言的乘法指令中,其本質就是按照二進制的最直接的乘法運算法則進行的,同上述前一個過程當中的算法過程同樣。4EH和5DH在計算機中都以二進制代碼存儲,分別爲1001110和1011101,求解的算法過程草稿如上圖所示,獲得的結果爲1110001010110,將結果轉化爲十六進制數,便是1C56H。固然,這裏也能夠在乘法執行前,將乘數和被乘數轉化爲十進制,獲得結果7254後再轉化爲二進制,最後再轉爲十六進制,過程會相對繁瑣一些。get