^(插入符号)运算符在Java中起什么作用?
当我尝试这样做时:
int a = 5^n;
...它给我:
当n = 5时,返回0 当n = 4时,返回1 当n = 6时,返回3
...所以我猜它不会取幂。但那是什么呢?
^(插入符号)运算符在Java中起什么作用?
当我尝试这样做时:
int a = 5^n;
...它给我:
当n = 5时,返回0 当n = 4时,返回1 当n = 6时,返回3
...所以我猜它不会取幂。但那是什么呢?
当前回答
正如其他答案所述,它是“异或”(XOR)操作符。有关Java中位操作符的更多信息,请参见:http://java.sun.com/docs/books/tutorial/java/nutsandbolts/op3.html
其他回答
要执行幂运算,可以使用Math。战俘相反:
https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Math.html#pow%28double,%20double%29
它是java中的位xor运算符,当不同值时结果为1(即1 ^ 0 = 1),当相同值时结果为0(即0 ^ 0 = 0)。
^是二进制(以2为底)异或,而不是取幂(不能作为Java运算符)。关于取幂,请参见java.lang.Math.pow()。
异或运算符规则=>
0 ^ 0 = 0
1 ^ 1 = 0
0 ^ 1 = 1
1 ^ 0 = 1
4、5和6的二进制表示:
4 = 1 0 0
5 = 1 0 1
6 = 1 1 0
现在,对5和4执行异或操作:
5 ^ 4 => 1 0 1 (5)
1 0 0 (4)
----------
0 0 1 => 1
同样的,
5 ^ 5 => 1 0 1 (5)
1 0 1 (5)
------------
0 0 0 => (0)
5 ^ 6 => 1 0 1 (5)
1 1 0 (6)
-----------
0 1 1 => 3
^ = (按位异或)
描述
如果二进制异或操作符在一个操作数中设置,则复制位。
例子
(A ^ B)会给出49,即0011 0001