powf возвращает одинаковые float значения от одинаковых float.
pow возвращает разные double значения от одинаковых float?
#include <stdio.h>
#include <math.h>
int main ( void ) {
float m = 3.0, n = 54.0;
printf ("%lf\n", pow (m,n) );//lf C99
printf ("%lf\n", pow (3.0,54.0) );//float
printf ("%lf\n", powf (m,n) );
printf ("%lf\n", powf (3.0,54.0) );//float
}
// 58149737003040055000000000.000000
// 58149737003040064000000000.000000
// 58149735907158878000000000.000000
// 58149735907158878000000000.000000