【发布时间】:2012-08-26 03:45:49
【问题描述】:
两者有什么区别:
Math.pow ( x,y ); // x^y
收件人:
x^y; // x^y
?
我会更喜欢将x^y 与double 类型数字一起使用吗?还是我必须始终使用 Math.pow() 方法的 shell?
【问题讨论】:
两者有什么区别:
Math.pow ( x,y ); // x^y
收件人:
x^y; // x^y
?
我会更喜欢将x^y 与double 类型数字一起使用吗?还是我必须始终使用 Math.pow() 方法的 shell?
【问题讨论】:
^ 是 Java(和许多其他语言)中的 bitwise exclusive OR (XOR) 运算符。它不用于求幂。为此,您必须使用Math.pow。
【讨论】:
Math.pow。
Math.sqrt(x*x+y*y)更具可读性。跨度>
另外,如果您想要 2 的整数幂,那么 1 << x(或 1L << x)是比 Math.pow(2,x) 或乘法循环更快的计算 2x 的方法,并保证给你一个int(或long)结果。
不过,它只使用x(即x & 31(或x & 63))的最低5(或6)位,在0和31(或63)位之间移动。
【讨论】:
在 Java 中,x ^ y 是一个 XOR 操作。
【讨论】:
x^y 不是“x 的 y 的幂”。我是"x XOR y"。
【讨论】: