I'm having a problem with C#. To be precise with the Math.pow(). If I try to calculate 15^14 then I get "29192926025390624". But if I calculate it with Wolfram Alpha I get "29192926025390625". As you can see this only difference is 1 number. Wolfram Alpha is correct though. Why isn't C# ? and how do I fix this so I can get the correct value in C# ?7
My code is fairly simple since I'm just trying with hardcoded examples. So what I'm doing is : Math.Pow(15,14);
This gives 29192926025390624
. And not "29192926025390625" which is the correct answer.
Links : Wolfram Alpha
Math.Pow
behaves according to spec: 29192926025390624 is the nearest double-precision IEEE 754 number. The other nearby double-precision number is 29192926025390628. – HaugMath.Pow
that is flawed. Enjoy: docs.sun.com/source/806-3568/ncg_goldberg.html – Unanimity