【问题标题】:pow (x,y) in JavaJava 中的 pow (x,y)
【发布时间】:2012-08-26 03:45:49
【问题描述】:

两者有什么区别:

Math.pow ( x,y ); // x^y

收件人:

x^y; // x^y

?

我会更喜欢将x^ydouble 类型数字一起使用吗?还是我必须始终使用 Math.pow() 方法的 shell?

【问题讨论】:

    标签: java math


    【解决方案1】:

    ^ 是 Java(和许多其他语言)中的 bitwise exclusive OR (XOR) 运算符。它不用于求幂。为此,您必须使用Math.pow

    【讨论】:

    • 例如,如果我想从 (x,y) 计算半径,我需要: Math.sqrt(Math.pow(x,2)+Math.pow(y,2)) ; ???谢谢
    • @Master C:如果你想将一个数字提高到特定的幂,你想使用Math.pow
    • @Master C:除了它只是2d中到原点的距离(没有点半径的概念),我认为在这种特殊情况下Math.sqrt(x*x+y*y)更具可读性。跨度>
    【解决方案2】:

    另外,如果您想要 2 的整数幂,那么 1 << x(或 1L << x)是比 Math.pow(2,x) 或乘法循环更快的计算 2x 的方法,并保证给你一个int(或long)结果。

    不过,它只使用x(即x & 31(或x & 63))的最低5(或6)位,在0和31(或63)位之间移动。

    【讨论】:

      【解决方案3】:

      在 Java 中,x ^ y 是一个 XOR 操作。

      【讨论】:

        【解决方案4】:

        x^y 不是“xy 的幂”。我是"x XOR y"

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-09-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-26
          • 1970-01-01
          • 1970-01-01
          • 2012-04-29
          相关资源
          最近更新 更多