[理工] 計算機之乘法(以Shift-Add方式)的問題

作者: earnestgirl (keep my heart calm)   2014-03-04 23:18:07
計算機之乘法係以Shift-Add方法來完成,
試設計一Algorithm: 將 1 byte Multiplicand 乘以 1 byte Multiplier 得
2 bytes 之 Product.(以shift-add方式),
應用你的Algorithm完成(10110011)2乘以(01001010)2之乘法.
解答
1. M←Multiplicand; N←Multiplier;
2. P←0;
3. while N≠0 do begin
4. if N is odd then P←P+M;
5. M 左移一位;
6. N 右移一位
7. end;
小妹想了解的是以下兩點:
1. 這個乘法以Shift-Add方式的運算過程是如何?
2. 還有運算結果Product是多少?
麻煩高手幫忙解答,萬分感謝~
作者: A4P8T6X9 (殘廢的名偵探)   2014-03-04 23:43:00
仔細思考看看,遇到1不就是要寫下來等下要加,如果遇到0就是直接跳過,所以看奇數偶數。
作者: kiki86151 (魯飯)   2014-03-05 09:40:00
這是傳統乘法器算法 你畫直式乘法 想想就知道它原理了如A大所說的 遇到1就要加 遇到0不用加 但都要移位
作者: earnestgirl (keep my heart calm)   2014-03-05 17:50:00
謝謝A大和K大 雖然我還不是很懂 我在想想看好了

Links booklink

Contact Us: admin [ a t ] ucptt.com