运算符 ^ 在 java 中代表啥? [复制]

Posted

技术标签:

【中文标题】运算符 ^ 在 java 中代表啥? [复制]【英文标题】:What does the operator ^ stand for in java? [duplicate]运算符 ^ 在 java 中代表什么? [复制] 【发布时间】:2013-02-20 02:46:46 【问题描述】:

我只是在代码中看到它,所以我尝试了这个:

int i = 30;
System.out.println(i^3);

结果是:

29

这是什么?谢谢。

【问题讨论】:

***.com/questions/1991380/… 嗯tinyurl.com/av2k5s7 【参考方案1】:

这是异或 - exclusive bitwise or。

【讨论】:

【参考方案2】:

^ 它是一个异或运算符 (XOR)。 它实际上是按位求和 % 2。

11110 (30)
00011 (3)
----------
11101 (29)

【讨论】:

非常感谢您的解释,我主要想知道为什么返回 29。【参考方案3】:

Bitwise exclusive OR Operator

【讨论】:

【参考方案4】:

^ 在 Java 中是 XOR operator

XOR 代表按位异或。即:

0 XOR 0 = 0

0 XOR 1 = 1

如果位不同(独占),则输出为 1,否则为 0。

所以按照你的例子:

11110 XOR 00011 = 11101 = 29

【讨论】:

以上是关于运算符 ^ 在 java 中代表啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为啥算术赋值运算符更有效? [复制]

一个&在js中代表啥意思

在 Javascript 中使用多个 = 运算符有啥作用? [复制]

如何在 cpp 的线程中使用 = 运算符,它有啥好处? [复制]

Javascript 速记 - '||' 是啥意思运算符在作业中使用时的意思? [复制]

^ (XOR) 运算符有啥作用? [复制]