找回密码
 欢迎注册
查看: 28886|回复: 22

[讨论] 10^n的二进制表示

[复制链接]
发表于 2009-1-12 09:39:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
对所有的n <= 20的
10^n寻找小于n项的二进制幂的加减表示

比如1000正常的是9, 8, 7, 6, 5, 3共6个2的方幂加在一起
可以表示为9+8+7+6+5+3
但存在1000=2^10-2^4-2^3的结果
即最短表示是10-4-3

求出满足题目的最短表示
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-1-12 09:44:53 | 显示全部楼层
动态规划.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-1-12 10:21:56 | 显示全部楼层


给出结果
我想知道结果
为了快速的乘以10^n用
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-1-12 10:31:03 | 显示全部楼层
一次乘法可能比三次“移位+加减”还快吧?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-1-12 10:32:34 | 显示全部楼层
对不起,忘了脱马甲了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-1-12 10:33:46 | 显示全部楼层
一次乘法是9个时钟
三次移位加减是1.5时钟
乘法吞吐量是2
加减移位是0.5
你说谁快?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-1-12 10:34:57 | 显示全部楼层


不过谢谢你提醒
我要重新评估下
大于10000的10的方幂的乘法了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-1-12 10:39:07 | 显示全部楼层
原帖由 无心人 于 2009-1-12 10:33 发表
一次乘法是9个时钟
三次移位加减是1.5时钟
乘法吞吐量是2
加减移位是0.5
你说谁快?


你说的是老型号的CPU,
新的CPU中MUL指令的时钟数很小了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-1-12 11:19:09 | 显示全部楼层
呵呵

需要测试下么?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-1-12 11:33:17 | 显示全部楼层

回复 9# 无心人 的帖子

主流CPU 32位整数乘法要4个时钟左右
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-19 20:29 , Processed in 0.044821 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表