<float.h>
O arquivo de cabeçalhos <float.h> fornece alguns macros de números de pontos flutuantes do tipo ‘float’ para o sistema específico e a implementação para o compilador utilizado.
Um número de ponto flutuante são compostos por 4 (quatro) elementos:
-
Um sinal: sendo negativo ou não-negativo em sua ausência.
-
Uma base: a qual representa qual base o número será escrito (2 para binário, 10 para decimal, 16 para hexadecimal, 8 para octal e assim por diante).
-
Uma mantissa: que é uma sequência de números na base mencionada. O número de dígitos aqui expressos também é conhecido como sua precisão.
-
Um expoente: que representa o deslocamento da mantissa, afetando o número da seguinte maneira:
Valor do Ponto Flutuante = [sinal] mantissa x base expoente
Macros
O prefixo das macros está diretamente relacionado ao seu tipo, onde FLT (float),
DBL (double) e LDBL (long double). Estão presentes na
biblioteca <float.h> as seguintes macros:
-
FLT_ROUNDS: Informa o modo de arredondamento para todos os valores do tipo float, double e long double. Pode ser alterado com as funções presentes na biblioteca <fenv.h>. Cada valor, representa um modo, sendo eles:
- -1: indeterminado;
- 0: em direção a zero;
- 1: para o valor mais próximo;
- 2: em direção ao infinito positivo;
- 3: em direção ao infinito negativo.
-
FLT_RADIX: Informa a base do expoente, sendo 2 (binário), 10 (decimal) ou 16 (hexadecimal).
-
FLT_MANT_DIG, DBL_MANT_DIG e LDBL_MANT_DIG: Informam o número de dígitos do número na base FLT_RADIX.
-
FLT_DIG, DBL_DIG e LDBL_DIG: Informam a quantidade máxima de dígitos decimais que podem ser representados sem sofrerem mudanças por arredondamento.
-
FLT_MIN_EXP, DBL_MIN_EXP e LDBL_MIN_EXP: Informam o menor valor inteiro negativo para um expoente na base FLT_RADIX.
-
FLT_MIN_10_EXP, DBL_MIN_10_EXP e LDBL_MIN_10_EXP: Informam o menor valor inteiro negativo para um expoente na base decimal.
-
FLT_MAX_EXP, DBL_MAX_EXP e LDBL_MAX_EXP: Informam o maior valor inteiro para um expoente na base FLT_RADIX.
-
FLT_MAX_10_EXP, DBL_MAX_10_EXP e LDBL_MAX_10_EXP: Informam o maior valor inteiro para um expoente na base decimal.
-
FLT_MAX, DBL_MAX e LDBL_MAX: Informam o maior valor finito de um ponto flutuante.
-
FLT_MIN, DBL_MIN e LDBL_MIN: Informam o menor valor finito de um ponto flutuante.
-
FLT_EPSILON, DBL_EPSILON e LDBL_EPSILON: Informam o dígito menos significativo representável.
Funções
Não há funções nesta biblioteca.