Java中的pow(x,y)
有什么区别:
Math.pow ( x,y ); // x^y
至:
x^y; // x^y
?
我是否更喜欢使用带有double
数字的x^y
? 或shell我必须始终使用Math.pow()
方法?
^
是Java(以及许多其他语言)中的按位异或 (XOR)运算符。 它不用于取幂。 为此,您必须使用Math.pow
。
另外对于所说的,如果你想要2的整数幂,那么1 << x
(或1L << x
)是比Math.pow(2,x)
或乘法循环更快的计算2 x的方法,并且保证给你一个int
(或long
)结果。
它仅使用x
的最低5(或6)位(即x & 31
(或x & 63
)),但在0和31(或63)位之间移位。
在Java中, x ^ y
是一个XOR
操作。
x^y
不是“ x
到y
的幂”。 这是“ x
XOR y
” 。