跳到正文

大数计算器

Big Number Calculator

对远远超过 64 位的整数做精确运算,含幂、取模和阶乘。

对远超计算器容量的整数做运算:幂、阶乘、模运算,全部精确。普通计算器在 2^53 处就不再说实话了,在那里 9007199254740992 和 9007199254740993 变成同一个数,此后的一切都自信满满地错下去。

🔒 完全在你的浏览器里运行bignummathprecisioncalculator

表达式

可以用 + − × ÷ % ^ 和 !,配合括号。数字可以用逗号或下划线分组,十六进制(0xFF)、二进制(0b1010)和八进制(0o17)字面量也能读。

结果

115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936

位数

78

是否精确

是

函数

  • abs(a) — 去掉符号后的大小
  • gcd(a, b) — 最大公约数
  • lcm(a, b) — 最小公倍数
  • pow(a, b) — a 的 b 次幂 — 和 a^b 一样
  • modpow(a, b, m) — a^b mod m — 不真的算出 a^b
  • fact(n) — n 的阶乘 — 也写作 n!
  • sqrt(n) — 整数平方根,向下取整
  • min(a, b) — 两个数里小的那个
  • max(a, b) — 两个数里大的那个
普通计算器到 2⁵³ 就不再说实话了:再往上,9007199254740992 和 9007199254740993 在双精度里是同一个数,于是阶乘、大的幂和模幂都会理直气壮地给出错的答案。这里全部是任意精度的整数运算,唯一的限制是时间 — 位数超过 10 万的幂会被拒绝,而不是让标签页卡死。

怎么用

  1. 输入表达式

    加、减、乘、除、取模、幂和阶乘,带括号。数字可以用逗号或下划线分组,十六进制、二进制和八进制字面量也能读。

  2. 读位数

    在答案旁边,因为在这种规模下,位数常常是更有用的事实。100! 有 158 位。

  3. 把数字分组来读

    一个 158 位的数一口气读不下来。分组会加入分隔符而不改变值。

常见问题

除法会怎样?

整数除法:答案截断,余数显示在旁边。这里的一切都是整数运算。要精确的分数值,用分数计算器。

为什么我的幂被拒绝了?

因为答案会超过 100,000 位,计算和渲染它会冻住标签页。限制在于一件事要花多久,而不是一个数能有多大。

支持模幂运算吗?

支持,而且是用反复平方做的,而不是先算出幂。这是一个瞬间得出的答案和一个算出来又扔掉的百万位数字之间的区别。

可以从这些接进来

接下来

这些工具吃得下当前工具的产出,结果可以直接送过去。