當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。