1
nyxsonsleep 2022-09-05 23:32:43 +08:00
调用 bigint
|
2
harrytse94 2022-09-06 09:48:30 +08:00 via Android 2
没有好的办法,这两种比较常见
1 将幂运算的底数或者指数缩小,一般底数都有对应的放大,在需求内将底数的放大倍数缩小。或者将指数缩小,比如原来是秒指数,变成分指数就缩小了 60 倍 举例 按秒计算的利率为 1.0000000006 一天 86400 秒 正常计算是 10000000006 ** 86400 改成按分计算,分利率比秒利率大,假设 1.000000005 一天 1400 分 计算就变成了 10000000050 ** 1440 由于分利率比秒利率大了一个数量级,因此可以把底数缩小,计算就变成了 1000000005 ** 1440 2 一般这个幂计算的结果不是最终结果,还需要除以放大倍数,比如计算复利 1.000003 ** 365 ,通常计算是是 (10000030) ** 365 / (10**7 ** 364) 可以在这个过程中拆分,比如 s1 = (10000030) ** 100 / (10**7 ** 99) s2 = (s1) ** 100 / (10**7 ** 99) s3 = (s1) ** 100 / (10**7 ** 99) s4 = (s1) ** 65 / (10**7 ** 64) |
3
harrytse94 2022-09-06 10:09:26 +08:00 1
|