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

看板Grad-ProbAsk作者 (keep my heart calm)時間10年前 (2014/03/04 23:18), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
計算機之乘法係以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是多少? 麻煩高手幫忙解答,萬分感謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.226.234.81

03/04 23:43, , 1F
仔細思考看看,遇到1不就是要寫下來等下要加,如果遇到0
03/04 23:43, 1F

03/04 23:44, , 2F
就是直接跳過,所以看奇數偶數。
03/04 23:44, 2F

03/05 09:40, , 3F
這是傳統乘法器算法 你畫直式乘法 想想就知道它原理了
03/05 09:40, 3F

03/05 09:40, , 4F
如A大所說的 遇到1就要加 遇到0不用加 但都要移位
03/05 09:40, 4F

03/05 17:50, , 5F
謝謝A大和K大 雖然我還不是很懂 我在想想看好了
03/05 17:50, 5F
文章代碼(AID): #1J5UwnKP (Grad-ProbAsk)