编程精确计算2 的N次方的原理,最好能详细一点的,例如求2的100次方
你这种是大数乘法的,直观的方式是用字符串数组模拟做算术的过程。网上搜一下能还有很多其它的方式的算法的
https://www.zhihu.com/question/19678341
如果只是要用到大数相乘的话,各种语言都有对应的大数运算库的,没有必要造重复轮子。这里以C#为例
BigInteger n = 2; for (int i = 0; i < 100-1; i++) { n *= 2; } Console.WriteLine(n);
#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