Função de biblioteca C - frexp ()

Descrição

A função da biblioteca C double frexp(double x, int *exponent) o valor de retorno é a mantissa, e o inteiro apontado por exponenté o expoente. O valor resultante éx = mantissa * 2 ^ exponent.

Declaração

A seguir está a declaração da função frexp ().

double frexp(double x, int *exponent)

Parâmetros

  • x - Este é o valor do ponto flutuante a ser calculado.

  • exponent - Este é o ponteiro para um int objeto onde o valor do expoente deve ser armazenado.

Valor de retorno

Esta função retorna a fração normalizada. Se o argumento x não for zero, a fração normalizada éxvezes uma potência de dois e seu valor absoluto está sempre na faixa de 1/2 (inclusivo) a 1 (exclusivo). E sex é zero, então a fração normalizada é zero e zero é armazenado em exp.

Exemplo

O exemplo a seguir mostra o uso da função frexp ().

#include <stdio.h>
#include <math.h>

int main () {
   double x = 1024, fraction;
   int e;
   
   fraction = frexp(x, &e);
   printf("x = %.2lf = %.2lf * 2^%d\n", x, fraction, e);
   
   return(0);
}

Vamos compilar e executar o programa acima para produzir o seguinte resultado -

x = 1024.00 = 0.50 * 2^11