繁体   English   中英

JavaScript中的Bitwise XOR运算符

[英]Bitwise XOR operator in JavaScript

为什么是这样:

console.log("1100" ^ "0001")
=> 1101 // as expected

console.log("1100" ^ "1001")
=> 1957 // ???

请解释。 谢谢。

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

尝试:

console.log(parseInt("1100", 2) ^ parseInt("1001", 2))

当然答案(0101)以十进制(5)打印。

JavaScript令牌语法支持十进制,八进制和十六进制数字,但不支持二进制数字。 从而:

console.log(0xC0 ^ 0x09)

顺便说一句,第一个工作,因为1100(十进制)是xor后的1101(十进制)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM