C++ scalbln() 函数使用方法及示例

C++ 库函数 <cmath>

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

scalbln()原型[从C ++ 11标准开始]

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()参数

scalbln()有两个参数:

  • x -表示有效位数的值。

  • n-FLT_RADIX的指数值。

scalbln()返回值

scalbln()函数返回。x * FLT_RADIXn

如果结果的大小太大而无法用返回类型的值表示,则该函数将返回带有正确符号的HUGE_VAL。

示例:scalbln()如何工作?

#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

C++ 库函数 <cmath>