English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Uso e exemplo da função scalbln()

C++ Biblioteca de Funções <cmath>

C ++A função scalbln(x, n) no scalbln(x, n) usa dois parâmetros: x e n, e eleva x ao n-ésimo poder da base FLT_RADIX.

Em outras palavras, simplesmente, a função scalbln() retorna o produto de x e o n-ésimo poder da base FLT_RADIX.

FLT_RADIX é o valor da base (base inteira) na representação exponencial.

A função está<cmath>Definido no cabeçalho. Além disso, você precisa usar o cabeçalho <cfloat> para usar FLT_RADIX.

scalbln(x, n) = x * FLT_RADIXn

Protótipo de scalbln() [do C ++ 11Início do padrão]

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); //Aqui, T é o tipo de inteiro

Ela éFunção scalbn()Idênticos, exceto que ele usa long int como o segundo parâmetro.

Parâmetros da função scalbln()

A função scalbln() tem dois parâmetros:

  • x -O valor que representa o número de dígitos significativos.

  • n-O valor de exponência de FLT_RADIX.

Valor de retorno da função scalbln()

O valor de retorno da função scalbln(). x * FLT_RADIXn

Se o tamanho do resultado for muito grande para ser representado pelo tipo de retorno, a função retornará HUGE_VAL com o sinal correto.

Exemplo: como funciona a função 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 << " * cout << x << " << FLT_RADIX << "^" << n << " = " << result << endl;
    
    return 0;
}

Quando executar o programa, a saída será:

3.056 * 2^133 = 3.32769e+40

C++ Biblioteca de Funções <cmath>