User forums > Using Code::Blocks
pow function not working properly
(1/1)
gbogya:
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
raynebc:
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:
--- Code: ---int x = pow(10,2) + 0.5;
--- End code ---
gbogya:
Thanks m8!
studentShiro:
Can some one explain further about this?
But when I try using Visual C++, it works as it should.
Why can't Code::Blocks?
Miguel Gimenez:
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.
Navigation
[0] Message Index
Go to full version