Kenan
Kenan

Reputation: 2317

The power operator in Java?

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:

enter image description here

Why is this so? For what I'm working on, the Visual Basic yields result I'm looking for.

Upvotes: 12

Views: 8351

Answers (1)

Eng.Fouad
Eng.Fouad

Reputation: 117569

^ is XOR operator in java. Use Math.pow(2,8) which is 2 ^ 8 in Visual Basic.

Upvotes: 32

Related Questions