Man page - frexp(3)

Packages contains this manual

Available languages:

en fr pt_BR es pl ja ru ro

Manual

frexp

NOME
BIBLIOTECA
SINOPSE
DESCRIÇÃO
VALOR DE RETORNO
ERROS
ATRIBUTOS
PADRÕES
HISTÓRICO
EXEMPLOS
Fonte do programa
VEJA TAMBÉM
TRADUÇÃO

NOME

frexp, frexpf, frexpl - converte um nĂșmero de ponto flutuante para componentes fracionĂĄrio e inteiro

BIBLIOTECA

Biblioteca matemĂĄtica ( libm , -lm )

SINOPSE

#include <math.h>

double frexp(double x , int * exp );
float frexpf(float
x , int * exp );
long double frexpl(long double
x , int * exp );

Requisitos de macro de teste de recursos para o glibc (consulte feature_test_macros (7)):

frexpf (), frexpl ():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* Desde o glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIÇÃO

These functions are used to split the number x into a normalized fraction and an exponent which is stored in exp .

VALOR DE RETORNO

These functions return the normalized fraction. If the argument x is not zero, the normalized fraction is x times a power of two, and its absolute value is always in the range 1/2 (inclusive) to 1 (exclusive), that is, [0.5,1).

If x is zero, then the normalized fraction is zero and zero is stored in exp .

If x is a NaN, a NaN is returned, and the value of *exp is unspecified.

If x is positive infinity (negative infinity), positive infinity (negative infinity) is returned, and the value of *exp is unspecified.

ERROS

Ocorre nenhum erro.

ATRIBUTOS

Para uma explicação dos termos usados nesta seção, consulte attributes (7).

Image grohtml-3937691-1.png

PADRÕES

C11, POSIX.1-2008.

HISTÓRICO

C99, POSIX.1-2001.

A variante retornando double também estå de acordo com SVr4, 4.3BSD, C89.

EXEMPLOS

The program below produces results such as the following:

$ ./a.out 2560
frexp(2560, &e) = 0.625: 0.625 * 2^12 = 2560
$ ./a.out -4
frexp(-4, &e) = -0.5: -0.5 * 2^3 = -4

Fonte do programa

#include <float.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char *argv[])
{
double x, r;
int exp;
x = strtod(argv[1], NULL);
r = frexp(x, &exp);
printf("frexp(%g, &e) = %g: %g * %d^%d = %g\n", x, r, r, 2, exp, x);
exit(EXIT_SUCCESS);
}

VEJA TAMBÉM

ldexp (3), modf (3)

TRADUÇÃO

A tradução para portuguĂȘs brasileiro desta pĂĄgina man foi criada por Rubens de Jesus Nogueira <darkseid99@usa.net> e AndrĂ© Luiz Fassone <lonely_wolf@ig.com.br>

Esta tradução Ă© uma documentação livre; leia a Licença PĂșblica Geral GNU VersĂŁo 3 ou posterior para as condiçÔes de direitos autorais. Nenhuma responsabilidade Ă© aceita.

Se vocĂȘ encontrar algum erro na tradução desta pĂĄgina de manual, envie um e-mail para a lista de discussĂŁo de tradutores .