[理工] 计算机之乘法(以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