大数计算器
Free对远超普通计算器处理能力的数字进行精确运算:加、减、乘、除、乘方、开平方、阶乘、取模、最大公约数和最小公倍数。
最近活动
所有人可见。所有访客的最近 20 次使用记录,最新的在前。
暂无活动记录。快来成为第一个吧。
此工具的功能
对远超普通计算器精确处理能力的数字执行精确运算:加法、减法、乘法、除法、幂运算、平方根、平方、阶乘、取模、最大公约数和最小公倍数,并可为除法和平方根调整小数精度。
工作原理
每个数字都以精确整数(使用 JavaScript 的任意精度 BigInt 类型)加上小数刻度的方式存储,而不是近似的浮点值,因此其能精确保存的位数没有上限。加法、减法和乘法直接组合这些整数,无论数字多大都能保持精确。除法和平方根并不总能精确表示(如 1/3 或 √2),因此会使用长除法风格的整数运算计算到您选择的小数位数,并正确舍入最后一位而非直接截断。幂运算使用相同的精确整数运算,阶乘、取模、最大公约数(欧几里得算法)和最小公倍数都直接对整数进行运算。
解决的问题
- 为密码学、数论或宇宙学中使用的、超出普通计算器精度的数字计算精确结果。
- 获得阶乘、大指数或大整数的最大公约数/最小公倍数的精确、未舍入的答案。
- 进行除法或平方根运算,得到比标准计算器所显示的多得多的小数位数。
常见问题
›为什么我需要一个专门的大数计算器?
JavaScript 的普通数字(以及大多数计算器)只能可靠地存储约 15-17 位有效数字,超过这个范围,结果会在不知不觉中失去精度。此工具在内部将数字表示为精确整数(使用任意精度的 BigInt 运算),而非近似浮点值,因此对包含数百或数千位数字的运算能保持精确。
›对于如此庞大的数字,除法如何保持精确?
除法(和平方根)可能产生无限循环或无理小数,因此无法精确存储。此工具会按您选择的小数位数(即"小数精度"设置)计算结果,并正确舍入最后一位数字,而不是直接截断。加法、减法、乘法、幂运算和阶乘始终是精确的,完全没有舍入。
›支持哪些输入格式?
X 和 Y 均接受普通整数(123456789)、小数(123.456)以及科学/E 记数法(23E18 或 3.5e-19)。
›为什么非常大的指数有时会被拒绝?
某些组合(例如一个 500 位数字的 100,000 次方)会产生数千万位数字的结果,远超任何浏览器能够顺畅计算或显示的范围。此工具会在计算前估算结果的大小,并拒绝任何不合理的巨大结果,而不是让页面卡死。
›为什么阶乘、取模、最大公约数和最小公倍数都需要整数?
这些运算在数学上仅对整数有定义;"3.5 的阶乘"或"4.2 和 6 的最大公约数"没有标准含义。使用这些运算时,请为 X(以及适用时的 Y)输入整数。
评论 (0)
觉得这个工具有用吗?留下评论、分享一个小技巧,或者告诉我们如何改进它。
暂无评论,快来抢沙发分享您的想法吧!