Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中的逐位异或运算符_Javascript_Bit Manipulation - Fatal编程技术网

JavaScript中的逐位异或运算符

JavaScript中的逐位异或运算符,javascript,bit-manipulation,Javascript,Bit Manipulation,为什么会这样: console.log(“1100”^“0001”) =>1101//如预期 控制台日志(“1100”^“1001”) => 1957 // ??? 请解释一下。谢谢。这些数字被解释为十进制数字 尝试: 当然,答案(0101)是以十进制(5)打印的 JavaScript标记语法支持十进制、八进制和十六进制的数字,但不支持二进制。因此: console.log(0xC0 ^ 0x09) 顺便说一句,第一个是有效的,因为1100(十进制)在1的xor之后是1101(十进制)。您使

为什么会这样:

console.log(“1100”^“0001”)
=>1101//如预期
控制台日志(“1100”^“1001”)
=> 1957 // ???

请解释一下。谢谢。

这些数字被解释为十进制数字

尝试:

当然,答案(0101)是以十进制(5)打印的

JavaScript标记语法支持十进制、八进制和十六进制的数字,但不支持二进制。因此:

console.log(0xC0 ^ 0x09)

顺便说一句,第一个是有效的,因为1100(十进制)在1的xor之后是1101(十进制)。您使用的是xor运算符,但实际上您似乎想要OR,因为for
1101 | 0001=1101
(OR),而
1101^0001=0101
(xor)。
console.log(0xC0 ^ 0x09)