天天看点

abs()、fabs()和fabsf()区别

1.abs()、fabs()和fabsf()区别 因为C++ 允许重载 可以根据类型自行选择,所以有的时候看源码是最好的老师

 abs(类型 i);                   // 

inline double __CRTDECL abs(_In_ double _X)

        {return (fabs(_X)); }

inline long abs(long _X)

    {

        return labs(_X);

    }

inline long long abs(long long _X)

    {

        return llabs(_X);

}

inline float __CRTDECL abs(_In_ float _X)

        {return (fabsf(_X)); }

 fabs(类型 i);  //处理 类型的取绝对值

inline float __CRTDECL fabs(_In_ float _X)

        {return (fabsf(_X)); }

inline long double __CRTDECL fabs(_In_ long double _X)

        {return (fabsl(_X)); }

fabsf(类型 i);             //处理float类型的取绝对值

inline float fabsf(_In_ float _X)

        {return ((float)fabs((double)_X)); }