Ken*_*nan 7 java vb.net math int
当我运行以下Visual Basic代码时:
Dim b As Double
b = (2 ^ 16 - 1) * Math.Sqrt(Math.Sqrt((a / (2 ^ 8 - 1))))
Run Code Online (Sandbox Code Playgroud)
(假设a是一个双倍,其值为15.0)
我得到的结果b大约是32,275.
但是,当我运行以下Java代码时,应该执行与上面相同的操作:
double b;
b = (2 ^ 16 - 1) * Math.sqrt(Math.sqrt((a / (2 ^ 8 - 1))));
Run Code Online (Sandbox Code Playgroud)
再次a15岁,我得到了一个非常不同的结果:大约17岁.
两者都在解决这个等式:

为什么会这样?对于我正在进行的工作,Visual Basic会产生我正在寻找的结果.