gpt4 book ai didi

javascript - ^ 在 JavaScript 中的行为

转载 作者:行者123 更新时间:2023-11-30 07:24:11 24 4
gpt4 key购买 nike

alert(15^2) - 表现为 alert(15-2),提醒 13
alert(15^10) - 表现为 alert(15-10),提醒 5

因此,如果第二个数字较小,则它从第一个数字中减去第二个数字。
但是如果第二个数字更大,比如

alert(15^16),它将它们相加,表现为 alert(15+16) 和警报 31

alert(15^3^4) 的行为与 alert(15-3-4) 相同,因此它会发出警报 8。

同时

alert(15^3^2) 的行为与 alert(15-3+2) 相同,因此它会提醒 14。

谁能给我解释一下这种行为?

最佳答案

它被称为异或。对于每个数字的每一位,如果两者不同,则输出 1。

1 XOR 0 = 1
0 XOR 1 = 1
1 XOR 1 = 0
0 XOR 0 = 0

所以当您执行 15^2 操作时:

1111 XOR
0010
----
1101

这看起来像是一个减法,但仅适用于那些特殊情况。

对于多次的情况,例如 15^3^4 = (15^3)^4 所以你首先计算 15^3 然后结果为 4:

1111 XOR (15)
0011 (3)
----
1100 (12)

然后:

1100 XOR (12)
0100 (4)
----
1000 (8)

因此,15^3^4 = 8

关于javascript - ^ 在 JavaScript 中的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23993579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com