ldexp()是C /C++中的內置函數,通過采用兩個參數x和exp即x * 2^exp將任何變量x和2的乘積提高到exp的冪
用法:
float ldexp (float x, int exp) double ldexp (double x, int exp) long double ldexp (long double x, int exp) double ldexp (T x, int exp)
參數:該函數接受兩個強製性參數x和exp,它們指定定義中描述的兩個變量。
返回值:該函數返回表達式x * 2^exp的值。它返回類型為long double,float或double的值。
以下示例程序旨在說明上述函數。
示例1:
// C++ program to illustrate the
// ldexp() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
double x = 6, result;
int exp = 2;
// It returns x*(2^exp)
result = ldexp(x, exp);
// print the result
cout << "ldexp(x, exp) = " << result << endl;
return 0;
}
輸出:
ldexp(x, exp) = 24
示例2:
// C++ program to illustrate the
// ldexp() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
double result;
int x = 20, exp = 9;
// It returns x*(2^exp)
result = ldexp(x, exp);
// prints the result
cout << "ldexp(x, exp) = " << result << endl;
return 0;
}
輸出:
ldexp(x, exp) = 10240
錯誤和異常:如果結果的大小太大而無法用返回類型的值表示,則該函數以正確的符號返回HUGE_VAL(或HUGE_VALF或HUGE_VALL),並且發生溢出範圍錯誤。
以下示例程序旨在說明上述錯誤。
// C++ program to illustrate the
// ldexp() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
double result;
int x = 20, exp = 10000;
// It returns x*(2^exp)
result = ldexp(x, exp);
// prints the result
cout << "ldexp(x, exp) = " << result << endl;
return 0;
}
輸出:
ldexp(x, exp) = inf
相關用法
- C++ ldexp()用法及代碼示例
- C++ div()用法及代碼示例
- C++ fma()用法及代碼示例
- C++ log()用法及代碼示例
- C++ regex_iterator()用法及代碼示例
- C++ map key_comp()用法及代碼示例
- C++ real()用法及代碼示例
- C++ imag()用法及代碼示例
- C++ valarray pow()用法及代碼示例
- C++ valarray tan()用法及代碼示例
注:本文由純淨天空篩選整理自AmanSrivastava1大神的英文原創作品 ldexp() function in C/C++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。