关于MFC中取绝对值的函数——abs()和fabs()

   

  1. #include "stdio.h"  
  2. #include "math.h"  
  3. main()  
  4. {  
  5.    float i,j,k1,k3;  
  6.    i=-1.02;  
  7.    k1=abs(i);  
  8.    j=-2.03;  
  9.    k3=fabs(j);  
  10.    printf("abs=%.2f/nfabs=%.2f/n",k1,k3);  
  11.   
  12. }  

输出结果:k1=1.00,k3=2.03。

可见abs是取绝对值后再取整,而fabs是取绝对值。vc中对fabs()定义有3种:float fabs(),double fabs(),long double fabs()

 

MFC中的取绝对值函数

  1. nline long double fabsl(long double _X)  
  2.         {return (fabs((double)_X)); }  
  3.   
  4. inline float fabsf(float _X)  
  5.         {return ((float)fabs((double)_X)); }  

 

MFC中其他的操作函数

 

  1. inline long double acosl(long double _X)  
  2.         {return (acos((double)_X)); }  
  3. inline long double asinl(long double _X)  
  4.         {return (asin((double)_X)); }  
  5. inline long double atanl(long double _X)  
  6.         {return (atan((double)_X)); }  
  7. inline long double atan2l(long double _X, long double _Y)  
  8.         {return (atan2((double)_X, (double)_Y)); }  
  9. inline long double ceill(long double _X)  
  10.         {return (ceil((double)_X)); }  
  11. inline long double cosl(long double _X)  
  12.         {return (cos((double)_X)); }  
  13. inline long double coshl(long double _X)  
  14.         {return (cosh((double)_X)); }  
  15. inline long double expl(long double _X)  
  16.         {return (exp((double)_X)); }  
  17. inline long double fabsl(long double _X)  
  18.         {return (fabs((double)_X)); }  
  19. inline long double floorl(long double _X)  
  20.         {return (floor((double)_X)); }  
  21. inline long double fmodl(long double _X, long double _Y)  
  22.         {return (fmod((double)_X, (double)_Y)); }  
  23. inline long double frexpl(long double _X, int *_Y)  
  24.         {return (frexp((double)_X, _Y)); }  
  25. inline long double ldexpl(long double _X, int _Y)  
  26.         {return (ldexp((double)_X, _Y)); }  
  27. inline long double logl(long double _X)  
  28.         {return (log((double)_X)); }  
  29. inline long double log10l(long double _X)  
  30.         {return (log10((double)_X)); }  
  31. inline long double modfl(long double _X, long double *_Y)  
  32.         {double _Di, _Df = modf((double)_X, &_Di);  
  33.         *_Y = (long double)_Di;  
  34.         return (_Df); }  
  35. inline long double powl(long double _X, long double _Y)  
  36.         {return (pow((double)_X, (double)_Y)); }  
  37. inline long double sinl(long double _X)  
  38.         {return (sin((double)_X)); }  
  39. inline long double sinhl(long double _X)  
  40.         {return (sinh((double)_X)); }  
  41. inline long double sqrtl(long double _X)  
  42.         {return (sqrt((double)_X)); }  
  43. inline long double tanl(long double _X)  
  44.         {return (tan((double)_X)); }  
  45. inline long double tanhl(long double _X)  
  46.         {return (tanh((double)_X)); }  
  47.   
  48. inline float frexpf(float _X, int *_Y)  
  49.         {return ((float)frexp((double)_X, _Y)); }  
  50. inline float ldexpf(float _X, int _Y)  
  51.         {return ((float)ldexp((double)_X, _Y)); }  
  52. #if     !defined(_M_MRX000) && !defined(_M_ALPHA)  
  53. inline float acosf(float _X)  
  54.         {return ((float)acos((double)_X)); }  
  55. inline float asinf(float _X)  
  56.         {return ((float)asin((double)_X)); }  
  57. inline float atanf(float _X)  
  58.         {return ((float)atan((double)_X)); }  
  59. inline float atan2f(float _X, float _Y)  
  60.         {return ((float)atan2((double)_X, (double)_Y)); }  
  61. inline float ceilf(float _X)  
  62.         {return ((float)ceil((double)_X)); }  
  63. inline float cosf(float _X)  
  64.         {return ((float)cos((double)_X)); }  
  65. inline float coshf(float _X)  
  66.         {return ((float)cosh((double)_X)); }  
  67. inline float expf(float _X)  
  68.         {return ((float)exp((double)_X)); }  
  69. inline float fabsf(float _X)  
  70.         {return ((float)fabs((double)_X)); }  
  71. inline float floorf(float _X)  
  72.         {return ((float)floor((double)_X)); }  
  73. inline float fmodf(float _X, float _Y)  
  74.         {return ((float)fmod((double)_X, (double)_Y)); }  
  75. inline float logf(float _X)  
  76.         {return ((float)log((double)_X)); }  
  77. inline float log10f(float _X)  
  78.         {return ((float)log10((double)_X)); }  
  79. inline float modff(float _X, float *_Y)  
  80.         { double _Di, _Df = modf((double)_X, &_Di);  
  81.         *_Y = (float)_Di;  
  82.         return ((float)_Df); }  
  83. inline float powf(float _X, float _Y)  
  84.         {return ((float)pow((double)_X, (double)_Y)); }  
  85. inline float sinf(float _X)  
  86.         {return ((float)sin((double)_X)); }  
  87. inline float sinhf(float _X)  
  88.         {return ((float)sinh((double)_X)); }  
  89. inline float sqrtf(float _X)  
  90.         {return ((float)sqrt((double)_X)); }  
  91. inline float tanf(float _X)  
  92.         {return ((float)tan((double)_X)); }  
  93. inline float tanhf(float _X)  
  94.         {return ((float)tanh((double)_X)); }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值