Redian新闻
>
[合集] 如何提高乘方运算的效率
avatar
[合集] 如何提高乘方运算的效率# Computation - 科学计算
g*y
1
☆─────────────────────────────────────☆
DigitalPig (North! | 想做Polymer Physics) 于 (Sat Sep 15 15:55:30 2007) 提到:
比如 x^6 在FORTRAN里面要写x**6 实际上就是x*x*x*x*x*x 要六次乘法。
如果要提高乘方的效率 尽量减少乘法的数目 怎么办呢?
是不是用对数运算?
谢谢!
☆─────────────────────────────────────☆
skatou (skatou) 于 (Sat Sep 15 16:21:55 2007) 提到:
乘方哎,最多64次就爆int64了吧,直接乘也没有关系吧
不过可以
long long pow(long long x, int exp) {
long long r = 1, ret = x;
while (exp > 1) {
if (exp & 1) {
r *= ret;
}
ret *= ret;
avatar
m*s
2
辛苦了!:)

【在 g****y 的大作中提到】
: ☆─────────────────────────────────────☆
: DigitalPig (North! | 想做Polymer Physics) 于 (Sat Sep 15 15:55:30 2007) 提到:
: 比如 x^6 在FORTRAN里面要写x**6 实际上就是x*x*x*x*x*x 要六次乘法。
: 如果要提高乘方的效率 尽量减少乘法的数目 怎么办呢?
: 是不是用对数运算?
: 谢谢!
: ☆─────────────────────────────────────☆
: skatou (skatou) 于 (Sat Sep 15 16:21:55 2007) 提到:
: 乘方哎,最多64次就爆int64了吧,直接乘也没有关系吧
: 不过可以

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。