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++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。