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

Meaning and function of ^ (caret) sign in javascript

本文关键字:符号 功能 插入 javascript      更新时间:2023-09-26

在一个网页中,我看到以下脚本片段。

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

它是for-loop的一部分,我知道charCodeAt(i)是什么,但我真的很想知道^符号的功能是什么…我做了一些搜索,但没有找到任何东西。。。

什么是^,在Python或其他做同样工作的编程语言中存在什么函数或运算符?

它是bitwise XOR运算符。来自MDN文档:

[逐位XOR]在每个位位置返回一个1其中一个操作数是1,但不是两个操作数都是1。

其中,操作数是运算符左侧或右侧的任意值。

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

A 11001100
B 10101010

我们最终使用

Q 01100110

如果设置了a中的一个位,或者设置了B中的一位,不同时设置,则结果为1,否则为0


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

在Javascript中,它是逐位XOR运算符-exclusive or。只有当其中一个或另一个操作数为true时才返回true,但如果它们都为true或都为false,则返回false。

在Python中,它也做同样的事情。

维基百科的XOR页面。

这是一个逐位XOR。它在操作数的每个位中执行"异或"。