Java中的幂运算符?

时间:2011-08-18 01:47:07

标签: java vb.net math int

当我运行以下Visual Basic代码时:

Dim b As Double
b = (2 ^ 16 - 1) * Math.Sqrt(Math.Sqrt((a / (2 ^ 8 - 1))))

(假设a是双倍,其值为15.0)
我得到b的结果大约是32,275。

但是,当我运行以下Java代码时,应该执行与上面相同的操作:

double b;
b = (2 ^ 16 - 1) * Math.sqrt(Math.sqrt((a / (2 ^ 8 - 1))));

a为15时,我得到了一个非常不同的结果:大约17个。

两者都在解决这个等式:

enter image description here

为什么会这样?对于我正在处理的内容,Visual Basic会产生我正在寻找的结果。

1 个答案:

答案 0 :(得分:24)

java中的{p> ^XOR operator。在Visual Basic中使用Math.pow(2,8) 2 ^ 8