为什么在JavaScript中:

console.log('1000' | '1010'); // 1018不是'1010'?



console.log('1000' & '1010'); // 992不是“ 1000”?

JavaScript中按位计算的正确方法是什么?

最佳答案

您必须将输入定义为二进制数:

console.log(0b1000 | 0b1010);
> 10


然后,您可以将十进制数字转换回二进制符号:

Number(10).toString(2);
> "1010"

10-06 13:01