0

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

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

结果是:

29

这是什么 ?谢谢。

4

4 回答 4

5

这是 Xor -排他的按位或.

于 2013-03-05T15:53:39.837 回答
4

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

11110 (30)
00011 (3)
----------
11101 (29)
于 2013-03-05T15:58:41.437 回答
3

^在 Java 中是XOR 运算符

XOR 代表按位异或。IE:

0 XOR 0 = 0

0 XOR 1 = 1

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

所以按照你的例子:

11110 XOR 00011 = 11101 = 29

于 2013-03-05T15:54:02.753 回答
3

它被称为按位异或运算符

于 2013-03-05T15:54:20.593 回答