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
operates on floating-point types, which are by definition inaccurate. If you need arbitrary precision integers, use an arbitrary precision integer type such as the BigInteger structure. BigInteger also has a Pow method.