首页 新闻 会员 周边 捐助

编程精确计算2 的N次方的原理,最好能详细一点的

0
悬赏园豆:10 [已解决问题] 解决于 2016-03-09 07:14

编程精确计算2 的N次方的原理,最好能详细一点的,例如求2的100次方

左岸繁华右岸殇的主页 左岸繁华右岸殇 | 初学一级 | 园豆:156
提问于:2016-03-08 21:39
< >
分享
最佳答案
1

你这种是大数乘法的,直观的方式是用字符串数组模拟做算术的过程。网上搜一下能还有很多其它的方式的算法的

https://www.zhihu.com/question/19678341

如果只是要用到大数相乘的话,各种语言都有对应的大数运算库的,没有必要造重复轮子。这里以C#为例

    BigInteger n = 2;

    for (int i = 0; i < 100-1; i++)
    {
        n *= 2;
    }

    Console.WriteLine(n);

 

 

收获园豆:10
天方 | 大侠五级 |园豆:5407 | 2016-03-09 00:07
其他回答(1)
0
#python
>>> 2**100 1267650600228229401496703205376

 

lua

> print(math.pow(2,300))
2.0370359763345e+090
> print(math.pow(2,100))
1.2676506002282e+030

R:

> 2**5
[1] 32
> 2**100
[1] 1.267651e+30
 #还不知道怎么让julia能输出高精度的数字。
julia> 2^60 1152921504606846976

 

test

墨镜带佬星 | 园豆:2310 (老鸟四级) | 2016-03-09 05:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册