快速求解exp方法

开发线上项目时,效率往往是一个十分重要的指标。程序在计算指数exp时,一般是通过泰勒展开近似的,为了保证精度,所展开的泰勒项特别多。因此,exp的求解是十分耗时的。下面,提供一种快速求解exp的方法。

double fast_exp(double x){
  double d;
  // 先将尾数的后32位抹零。
  *(reinterpret_cast(&d) + 0) = 0;
  //再计算指数位,移位,加上偏移量和补偿值
  *(reinterpret_cast(&d) + 1) = static_cast(1512775 * x + 1072632447);
  return d;
}

 

你可能感兴趣的:(算法,C++)