例如,
0^1
将返回1
和
1^1
将返回0
这显然是用于翻转位的。
但是,我见过XOR的应用,例如
55^4
或73^1
我不明白这是什么目的。难道不只是检查55和73分别不等于4和1吗?
答案 0 :(得分:0)
它将首先将两个数字都转换为二进制数,然后对所有位应用按位XOR
rafthttp: health check for peer 44ffe8e24fa23c10 could not connect: x509: certificate is valid for etcd-a.internal.test1.com, etcd-b.internal.test1.com, etcd-c.internal.test1.com, etcd-events-a.internal.test1.com, etcd-events-b.internal.test1.com, etcd-events-c.internal.test1.com, localhost, not etcd-b.internal.test2.com
答案 1 :(得分:0)
很多时候,如果您拥有a^b
,则a
中的信息会以特定的位进行编码。您可以使用位模式进行XOR,以有用的方式修改此信息。这基本上是位掩码(维基百科文章here)。
例如,假设您有一些代表用户权限的无符号32位整数。每一位对应一个特定的权限。说第3个最低有效位(从右数第3个)代表用户是否是管理员。然后,要切换用户是否为管理员,您可以执行以下操作:
userRoles = userRoles ^ 0b100
或等效地
userRoles = userRoles ^ 8