我想计算(A/B)的一些(C/D)根与任意精度为根的十进制扩展(例如,如果期望的精度是整数E
,结果应该包含E
数字之后的小数点的根; E
可能至少等于数以万计; A,B,C,D是包含数十万位小数的整数),但是我发现所有的Javascript数学库都会拒绝处理这些数字。
我试过使用Decimal.js,但是它的输入精度有限且大小有限。例如,如果我想计算的2 1025个显著数字的平方根(其中最后一个数字可能以某种方式四舍五入),我用Decimal.js下面的代码:如何以任意精度计算任意大的整数A,B,C和D的(A/B)的(C/D)根?
Decimal.set({ precision: 1025 });
var r2 = Decimal.pow(2, Decimal.div(1, 2)).toDP(1025).toString();
console.log(r2);
,但我得到
Error: [DecimalError] Precision limit exceeded
是否有可能使用客户端(在浏览器中工作)的Javascript解决问题?据我所知,有一些有效的算法来计算根,即使是数字的百万,但我没有看到任何这些在JS中实现的任意大数量和任意精度。它有可能吗?
'精密:1025':-o – Rajesh
你可能想设置的显示精度的内部工作精度越高,计算链1位,每2或3运算加上缓冲这将在这里给出'Decimal.set({precision:1029});' – LutzL
@LutzL:我不明白...我应该用什么代码来获得1500平方根的数字在Decimal.js中?此外,据我所知,Decimal.js不能处理大于2^1024的整数。 –