Xor运算符是如何工作的

How does the Xor Operator Work

本文关键字:工作 何工作 运算符 Xor      更新时间:2023-10-16

有人能解释一下xor运算符在这两种情况下是如何工作的吗:

1. Find the kth Grey Code  k^(k>>1)
2. Find the neighboring corners of a corner in a cube:
rep (i, number_of_corners) {
            rep (j, N) {
                corners[i].sum += corners[(i ^ (1 << j))].weight;
            }
        }

N是立方体的维数。

xor是一个具有以下真值表的逐位运算符:

0 ^ 0 == 0
1 ^ 0 == 1
0 ^ 1 == 1
1 ^ 1 == 0

这是发生在x ^ y中的两个数字xy中的每个比特上的情况。

Exclusive Or;来自维基百科,免费百科全书

异或[XOR]是一种逻辑运算,只有当两个输入不同时(一个为true,另一个为false)才会输出true。

示例:
1xor 1=0
1xor 0=1
0 xor 1=1
0 xor 0=0
1110 xor 1001=0111(这相当于没有进位的加法)