有什么区别:
Math.pow ( x,y ); // x^y
要
x^y; // x^y
我是否更愿意将x^y
与double
类型号码一起使用?或shell我必须始终使用Math.pow()
方法?
答案 0 :(得分:39)
^
是Java(以及许多其他语言)中的bitwise exclusive OR(XOR)运算符。它不用于取幂。为此,您必须使用Math.pow
。
答案 1 :(得分:12)
另外对于所说的,如果你想要2的整数幂,那么1 << x
(或1L << x
)是比{{1}更快的计算2 x 的方法或者是一个乘法循环,并保证为您提供Math.pow(2,x)
(或int
)结果。
它仅使用long
的最低5(或6)位(即x
(或x & 31
)),但在0到31(或63)位之间移位。
答案 2 :(得分:5)
在Java中x ^ y
是XOR
操作。
答案 3 :(得分:4)
x^y
不是“x
”y
的力量。这是"x
XOR y
"。