在 JavaScript 中实现位数组的最佳方式是什么?
原文由 DrStrangeLove 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 JavaScript 中实现位数组的最佳方式是什么?
原文由 DrStrangeLove 发布,翻译遵循 CC BY-SA 4.0 许可协议
我不知道位数组,但您可以使用新功能使字节数组变得简单。
查找 类型化数组。我在 Chrome 和 Firefox 中都使用过这些。重要的是 Uint8Array。
要创建 512 个未初始化字节的数组:
var arr = new UintArray(512);
并访问它(第六个字节):
var byte = arr[5];
对于 node.js,使用 Buffer (服务器端)。
编辑:
要访问单个位,请使用位掩码。
要获得位,请执行 num & 0x1
原文由 beatgammit 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
这是我掀起的一个:
更新 - 关于这个类的一些事情一直困扰着我一整天 - 它不是基于大小的 - 创建一个带有 N 个槽/位的 BitArray 是一个两步操作 - 实例化,调整大小。使用可选的第二个参数将类更新为基于大小,用于使用数组值或基数 10 的数值填充基于大小的实例。
( 在这里 摆弄它)
感谢@Daniel Baulig 要求从快速和肮脏的重构到基于原型的重构。