当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 ldexp用法及代码示例


C语言math头文件(math.h)中ldexp函数的用法及代码示例。

用法:

     double ldexp  (double x     , int exp);
      float ldexpf (float x      , int exp);
long double ldexpl (long double x, int exp);
从有效 index 和 index 中产生价值
返回相乘的结果x(有效位数)由2提升到exp( index )。

lexpr(x,exp)=x* 2exp
标头<tgmath.h>提供此函数的type-generic宏版本。
额外的过载在此头文件中提供(<cmath>) 为了整数类型:这些重载有效地转换x到一个double计算之前(为T有任何整数类型)。

参数

x
浮点值代表重要的
exp
价值 index

返回值

该函数返回:

x* 2exp

如果结果的大小太大而无法用返回类型的值表示,则该函数将返回HUGE_VAL(或者HUGE_VALF或者HUGE_VALL)并带有适当的符号,并且溢出范围误差发生:


示例

/* ldexp example */
#include <stdio.h>      /* printf */
#include <math.h>       /* ldexp */

int main ()
{
  double param, result;
  int n;

  param = 0.95;
  n = 4;
  result = ldexp (param , n);
  printf ("%f * 2^%d = %f\n", param, n, result);
  return 0;
}


输出:

0.950000 * 2^4 = 15.200000

相关用法


注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C ldexp function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。