Reputation: 2317
When I run the following Visual Basic code :
Dim b As Double
b = (2 ^ 16 - 1) * Math.Sqrt(Math.Sqrt((a / (2 ^ 8 - 1))))
(Assuming a
is a double whose value is 15.0)
The result I get for b
is about 32,275.
But when I run the following Java code, which is supposed to do the same as above:
double b;
b = (2 ^ 16 - 1) * Math.sqrt(Math.sqrt((a / (2 ^ 8 - 1))));
Again with a
being 15, I get a much different result: about 17.
Both are solving this equation:
Why is this so? For what I'm working on, the Visual Basic yields result I'm looking for.
Upvotes: 12
Views: 8351
Reputation: 117569
^
is XOR operator in java. Use Math.pow(2,8)
which is 2 ^ 8
in Visual Basic.
Upvotes: 32