【发布时间】:2020-02-05 21:24:33
【问题描述】:
在最近的一个项目中,它涉及对 2 个 64 位位字符串执行“或”运算,但我遇到了一个问题,如果字符串足够大,任何按位运算都会返回 0,例如:(以下示例可能不是 64 位位串,但足够长以产生相同的结果)。
console.log("10101001010100101010101001010000001010100101010010"|"000100101010100101001010101001010101010100101010010100");
// returns 0
有没有一种我可以为 Javascript 中高效的按位运算编写的自定义方法,或者我可以用不同的方式表示这些位串?如果您需要有关该问题的任何说明,请随时提出。
【问题讨论】:
-
位运算符对 32 位数字进行运算。即使支持64位,字符串也会先转成数字,
Number("1010")和0b1010不一样。
标签: javascript bit-manipulation bitwise-operators