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
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