News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

pow function not working properly

Started by gbogya, March 02, 2016, 08:07:06 AM

Previous topic - Next topic

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:
int x = pow(10,2) + 0.5;


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.