Descrição:

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 baseexpoente

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
    LDBL_MANT_DIG
    : Informam o número de dígitos do número na base FLT_RADIX.

  • FLT_DIG
    DBL_DIG
    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
    LDBL_MIN_EXP
    : Informam o menor valor inteiro negativo para um expoente na base FLT_RADIX.

  • FLT_MIN_10_EXP
    DBL_MIN_10_EXP
    LDBL_MIN_10_EXP
    : Informam o menor valor inteiro negativo para um expoente na base decimal.

  • FLT_MAX_EXP
    DBL_MAX_EXP
    LDBL_MAX_EXP
    : Informam o maior valor inteiro para um expoente na base FLT_RADIX.

  • FLT_MAX_10_EXP
    DBL_MAX_10_EXP
    LDBL_MAX_10_EXP
    : Informam o maior valor inteiro para um expoente na base decimal.

  • FLT_MAX
    DBL_MAX
    LDBL_MAX
    : Informam o maior valor finito de um ponto flutuante.

  • FLT_MIN
    DBL_MIN
    LDBL_MIN
    : Informam o menor valor finito de um ponto flutuante.

  • FLT_EPSILON
    DBL_EPSILON
    LDBL_EPSILON
    : Informam o dígito menos significativo representável.

Funções:

Não há funções nesta biblioteca.