Code::Blocks Forums
User forums => Using Code::Blocks => Topic started by: gbogya on March 02, 2016, 08:07:06 am
-
Hi guys!
I discovered recently that the pow function isn't working as it should. For example: pow(10,2) is 99, whereas it should be 100. Pow(100,1) is also 99. I could go on and on giving examples, but I think you understand my point. Could you fix it please? I'm using version 13.12
-
1. This isn't a Codeblocks problem.
2. pow() returns a floating point value, so you're probably seeing a rounding error converting it to integer. Find or build a replacement function that uses integer math, or just simply round the result up to the nearest integer like this:
-
Thanks m8!
-
Can some one explain further about this?
But when I try using Visual C++, it works as it should.
Why can't Code::Blocks?
-
Code::Blocks is not a compiler, it knows nothing about pow(). You should ask this in a forum related to your compiler or read about floating point errors.