不喜欢广告? 去 无广告 今天
大整数计算器
开发人员数学
广告 移除?
广告 移除?
指导
大整数计算器
计算超出普通计算器容量的数学表达式的精确结果。该工具完全基于JavaScript的BigInt运行,因此factorial(1000)、25000、fibonacci(10000)以及万亿位数候选的质数检测都能返回每一位的正确结果——没有科学记数法,没有静默舍入。
如何使用
- 输入一个整数表达式,例如
2 ** 1000,factorial(100), 或者gcd(1071, 462). - 选择输出进制(十进制、十六进制、二进制、八进制)。结果会随着输入实时更新。
- 使用复制或下载功能获取完整结果——当数字达到数千位时非常有用。
- 查看结果下方的位数统计,以比较不同表达式的增长速度。
特征
- 运算符 -
+,-,*,/(整数截断),%(取模),**或^(幂运算),以及后缀!阶乘。 - 内置函数 -
factorial,fibonacci/fib(快速加倍法),gcd,lcm,isprime(确定性米勒-拉宾),nextprime,abs,pow,mod,以及整数sqrt. - 数字字面量 ——十进制,
0x十六进制,0b二进制,0o八进制,以及用于可读性的分隔符如_输出进制1_000_000. - ——以十进制、十六进制、二进制或八进制形式渲染相同数值,无需重新计算。 位数计数器
- ——立即报告答案包含多少位十进制数字,即使结果跨越多页也是如此。 ——没有任何数据发送到服务器,解析器会拒绝负指数、小数点和会冻结页面的无界指数。
- 在浏览器中运行 示例输入
——158位阶乘。
100!——1000位RSA风格密钥大小背后的数值。2 ** 1000——第500个斐波那契数,105位十进制数字。fibonacci(500)——超过十亿的下一个质数。nextprime(10 ** 30)——欧几里得算法的实际应用。gcd(1071, 462)——一个13位质数在毫秒内确认。isprime(1000000000039)为什么普通的计算器在处理大阶乘或幂运算时会得出错误结果?
常问问题
-
JavaScript和大多数计算器使用64位浮点数,只能精确表示最多2
-1(约9万亿)的整数。超过这个范围,结果会被静默舍入到最近的可表示浮点数,因此factorial(21)、253、以及其他大整数会丢失精度。基于BigInt的计算器可以存储任意数量的数字,因此每个数字都是精确的。54什么是任意精度算术,以及它在哪些领域中使用?
-
任意精度算术使用内存允许的任意数量位来表示整数,而不是固定宽度的寄存器。它在RSA和椭圆曲线密码学(密钥为2048-4096位整数)、需要精确小数的金融系统、组合数学以及数论研究中至关重要。
米勒-拉宾质数测试如何判断一个数是否为质数?
-
米勒-拉宾选择见证者a,并检查其必须满足的与质数相关的性质(由费马小定理推导而来),是否在候选数n上成立。单个随机见证者可能被欺骗,但通过精心选择的小见证者集合,测试可以变得确定性,直到大范围界限。当见证者集合为{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37}时,结果对所有小于3.317 * 10
阶乘(n)会增长到多大?24.
-
斯蒂尔公式给出 log
(n!) ≈ n·log10(n/e) + 0.5·log10(2π·n)。因此,100!大约有158位,1000!有2568位,10000!有35660位。标准双精度浮点数大约在170!时溢出。10为什么最大公约数和最小公倍数在数论中如此重要?
-
最大公约数(gcd)和最小公倍数(lcm)是约分分数、求解线性丢番图方程、中国剩余定理以及计算模逆的基石。此处使用的欧几里得算法,即使在千位数输入下,也能在O(log min(a,b))步内完成gcd计算。
例如:2 ** 1000,阶乘(100),gcd(36, 48),isprime(97)
