javascript - Javascript 错误地计算大整数
问题描述
我正在制作一个关于公式 10^(a-1)-1 mod a = 0 的程序。但是,当使用 Javascript 时,它不适用于 23 以上的数字。示例:
var b = 29
var a = Math.pow(10, b-1)
console.log(a);
console.log(a/b);
console.log(a % b)
这是输出:
1e+28
3.448275862068965e+26
14
模函数的输出应该是 1。有没有办法让它正确地解决计算?
解决方案
您可以使用BigInt
.
var b = 29n;
var a = 10n ** (b - 1n);
console.log(a.toString());
console.log((a/b).toString());
console.log((a % b).toString());
推荐阅读
- web - 我有一个 Google Cloud Storage 存储桶,我想将它托管为静态网站
- javascript - 使用 AJAX 进行用户登录的 Django 模式未成功发布
- cassandra - 是否可以在 Cassandra 3.11 中启用查询日志记录?
- reactjs - 如何使用 fetch 在 React 中遍历文件
- javascript - 使用 type="color" 从输入中选择颜色时如何更改身体的背景
- python - Python 访问被拒绝 在特定路径中使用 Python 下载文件
- cognos - 如果有人在 Cognos 中将登录重定向 URL 设置为错误的 URL,如何解决?
- mobile - 使用 getUserMedia API 在移动设备上显示两个 cam
- selenium - Selenium - 驱动程序版本:未知
- python - 在条件为真的每一行中使用顺序计数值循环遍历 Pandas 数据帧的最佳方法是什么?