在 JavaScript 中存储非常大的二进制数的最佳方法是什么?
What is the best way to store very large binary numbers in JavaScript?
我目前正在学习JavaScript,我很惊讶没有内置的方法来处理二进制数。我必须使用高达 2^4096 的整数,所以我不能将 JS 整数用于我的微积分。
我的第一个想法是使用 1 和 0 的数组。但这并不令人满意,因为简单的乘以 2 需要移动整个表。
那么如何在 JavaScript 中有效地处理二进制数呢?
我不想使用任何库。我对它的工作原理感兴趣,而不是使用其他人的抽象。
Javascript 没有任何 biginteger 类型,所以你需要使用一个数组来保存这么多信息。
0 和 1 值的数组可以轻松实现其函数,但效率不高。
Javascript 中的常规数字是双精度浮点数,因此它可以容纳 52 位数字信息 (ref),但您可以使用稍微少一点的数字来远离任何舍入错误,例如 48 位。
Javascript 中的按位运算符使用 32 位整数,即当与按位运算符一起使用时,双精度转换为 32 位整数。如果要对数据使用按位运算符,可以选择在数组中为每个项目存储 32 位。
JavaScript
仅支持 53 位整数。
存储"大整数"的最佳方法是将它们转换为服务器端的字符串。如果你想操纵它们,我建议看看这个库 https://github.com/rauschma/strint
相关文章:
- 从数组中删除元素的最佳方法是:javascript/jquery
- 将大数组(字符串和类型数组的混合物)存储到blob或文件中/从blob或文件检索大数组的最佳方式
- 从数组中随机抽取的最佳方式
- Javascript-将类型化数组保存为blob,并作为二进制数据读回
- 返回多个变量的 JavaScript 函数:数组与对象.最佳实践是什么
- 使用二进制压缩布尔数组
- Javascript:从数组中删除包含带有侦听器的对象的项目的最佳方法
- 在保持元素一致性的同时旋转数组元素的最佳方式'id
- waht是将数组从jqueryajax调用传递到servlet的最佳方式
- 为什么非二进制数被评估为二进制数
- 在 JavaScript 中存储非常大的二进制数的最佳方法是什么?
- 要画布的二进制数组
- 使用 CSS 的二进制数动画
- JavaScript中的二进制数组搜索
- 如何从十六进制字符串构建二进制数组
- 使用不同的二进制数查找给定集合的子集
- 将二进制数数组转换为相应的整数
- 如何对二进制数进行按位运算
- JavaScript:将字符转换为代码,或将字符串转换为二进制数组(数字数组)的非标准方法
- 反转一个二进制数组