C ++中的scalbln(x,n)函数采用两个参数:x和n,并将x按FLT_RADIX基数提升到n次幂。
简而言之,简单地说,scalbln()函数返回x和FLT_RADIX基数的n次方的乘积。
FLT_RADIX 是指数表示形式的基数(整数基)的值。
该函数在<cmath>头文件中定义。另外,您需要使用<cfloat>头文件来使用FLT_RADIX。
scalbln(x, n) = x * FLT_RADIXn
double scalbln (double x, long int n); float scalbln (float x, long int n); long double scalbln (long double x, long int n); double scalbln (T x, long int n); //这里,T是整数类型
它与scalbn()函数相同,只不过它long int作为第二个参数。
scalbln()有两个参数:
x -表示有效位数的值。
n-FLT_RADIX的指数值。
scalbln()函数返回。x * FLT_RADIXn
如果结果的大小太大而无法用返回类型的值表示,则该函数将返回带有正确符号的HUGE_VAL。
#include <iostream> #include <cmath> #include <cfloat> using namespace std; int main () { long int n = 133; double x = 3.056, result; result = scalbln (x, n); cout << x << " * " << FLT_RADIX << "^" << n << " = " << result << endl; return 0; }
运行该程序时,输出为:
3.056 * 2^133 = 3.32769e+40