^(插入符号)在javascript中的含义和功能

时间:2012-02-17 00:05:55

标签: javascript python operators

在网页中,我看到以下脚本代码段。

(d.charCodeAt(i)^k.charCodeAt(i)).toString()

这是for-loop的一部分,我知道charCodeAt(i)是什么,但我真的想知道^符号的功能是什么......我做了一些搜索但是失败了找到任何东西......

什么是^以及执行相同工作的Python或其他编程语言中存在哪些函数或运算符?

3 个答案:

答案 0 :(得分:4)

这是bitwise XOR运营商。来自MDN docs

  

[Bitwise XOR]在每个位的位置返回一个相应的位   或者两个操作数都不是。

操作数是操作员左侧或右侧的操作数。

例如,如果我们有两个字节:

A 11001100
B 10101010

我们最终

Q 01100110

如果A中的位置位或者B中的位置位,不是两者,则结果为1,否则为0。< / p>


在您给出的示例中,它将采用来自d.charCodeAt(i)k.charCodeAt(i)的ASCII字符代码的二进制表示,并对它们进行异或。它在Python,C ++和大多数其他语言中也是如此。不要与数学相关的上下文中的指数运算符混淆;语言将提供pow()功能或类似功能。一个JavaScript有Math.pow(base, exponent)

答案 1 :(得分:3)

在Javascript中,它是bitwise XOR运算符 - 独占或。仅当一个或另一个操作数为true时才返回true,但如果它们都为true或两者都为false,则返回false。

在Python中,它the same thing

维基百科的XOR page

答案 2 :(得分:2)

这是一个按位异或。它在操作数的每一位执行“异或”。