”2的补常乘

D

davyzhu

Guest
大家好,

我有2的补到正从阴性位数字。如何乘以一个常数呢?

现在,我已经把2的补充
, 签署数字格式并shift-addition/multiplication。

而且是一个大问题困惑我很长一段时间:
是否有任何方法从签订位(易于繁殖的优点)和2的补(易补充)?

任何建议将受到赞赏!
最好的问候,
戴维

 
您应该使用展位的算法或改进的布斯算法。请参阅以下链接:
1)http://jingwei.eng.hmc.edu/〜rwang/e85/lectures/arithmetic_html/node10.html
2)userpages.umbc.edu /〜padmanab / fall03/cmpe415/BoothAlgo.pdf

丝氨酸
哈诺夫

 
你必须意识到你必须使用的乘法结果正确的数据类型
, 以便它可以容纳有:

例如
, 我们必须乘以号码适应“签署char”类型(即1个字节到从“-128到127范围”),那么最大的结果是16256(绝对值),它可以适应“符号的整型”型(2字节的范围“-32768到32767”)
代码:符号的整型multiplier_1; / /它的价值仅限于“-128; 127”!

符号的整型multiplier_2; / /它的价值仅限于“-128; 127”!

符号的整型multiplication_result;multiplication_result = multiplier_1 * multiplier_2; / /这会正确的结果

/ /乘法的乘法器,其中

/ /将不超过“-32768到32767”

 

Welcome to EDABoard.com

Sponsor

Back
Top