【c++高级】不得不学的<math>

简介

c/c++给我们提供了math.h这样一个头文件,大部分的数学运算都在个头文件有所包含。

c++ 11标准的<math>包含了9个大类58个函数。

三角函数-7(Trigonometric)、双曲线函数-6(Hyperbolic)、指数对数函数-14(Exponential and logarithmic)、幂函数-4(power)、差和伽马函数-4(Error and gamma)
、舍入和余项函数-13(Rounding and remainder)、浮点数操作函数-4(Floating-point manipulation)、最大最小函数-3(minimum maximum)、其他函数-3(other funcion)。

本文章是日常项目中用过的函数整理,,希望增加未介绍的函数加进来的可以评论该文章,作者将进一步完善,分享是一种精神,希望将这一件小事,这一个小的头文件介绍好,感谢每一位读者和评论者。

一 三角函数

二 双曲线函数

三 指数对数函数

四 幂函数

五 差和伽马函数

六 舍入和余项函数

1. ceil

      double ceil (double x);
      float ceil (float x);
      long double ceil (long double x);
      double ceil (T x);  
            ceil函数返回一个不小于参数值得最小的整数,通俗的讲是向右取整。

2.floor

      double floor (double x);
      float floor (float x);
      long double floor (long double x);
      double floor (T x);
           floor函数返回一个不大于参数值的最大整数,通俗的激昂是向左取整。

3.trunc

      double trunc (double x);
      float trunc (float x);
      long double trunc (long double x);
      double trunc (T x);  
            trunc是向0取整,它为ceil和floor的取整都满足不了的情况提供了一个解决方案。

           不知道为什么没有向无穷取整。

4.round

     double round (double x);
     float round (float x);
     long double round (long double x);
     double round (T x); 
          round返回一个离参数值最近的整数,当有两个整数距离参数的距离一样的时候,取远离0的那一个。

          eg.
          round(3.5) = 4;          

          round(-3.5)=-4;

5.fmod

          讲完了取整函数,就可以讲一下这个取余数的函数fmod。

      double fmod (double numer     , double denom);
      float fmod (float numer      , float denom);
      long double fmod (long double numer, long double denom);
      double fmod (Type1 numer      , Type2 denom);  

            fmod = numer - tquot *denom

           tquot是一个向0取整的值,           

            这样当numer>0时,tquot*denom<=numer。从而fmod>=0

            当numer<0时,tquot*denom>=numer。从而fmod<=0

            这样一来就可以看出,实际上fmod是带有符号的。

  

七 浮点数操作函数

八 最大最小函数

1.fdim

      double fdim  (double x     , double y);
      float fdimf (float x      , float y);
      long double fdiml (long double x, long double y);
            该函数的返回值大于等于零。

            当x>y是,返回x-y,否则返回0。

            也是此函数可以表示为:return x-y>0?x-y:0

2.fmax、fmin

            这两个函数不再介绍了,分别返回两个数中的大、小的值。


九 其他函数

1. fabs

      double fabs (double x);
      float fabs (float x);
      long double fabs (long double x);
      double fabs (T x); 
            这个函数还是很有用的,用到的地方很多。

            它返回输入值得绝对值。

2.abs

           这个函数看上去和fabs有一定的渊源。单从名字上来看,少了‘f’的标识。fabs的f是float的意思。

           事实就是这样。abs将返回一个int。也就是对参数取绝对值,然后转换为整形。

3.fma

      double fma (double x     , double y     , double z);
      float fma (float x      , float y      , float z);
      long double fma (long double x, long double y, long double z);
      double fma (Type1 x      , Type2 y      , Type3 z); 
            这个函数将返回,x*y+z。乍一看上去,我任务这是一个多么XX的函数,这不是闲着没事儿干吗。

           后来又仔细想了想平常所做的数值运算,发现这种形式还真的不少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值