1
resposta

Diferença entre os tipos de dados: números exatos e numéricos aproximados

Qual seria a diferença entre os tipos de dados "Números Exatos" e "Numéricos Aproximados", considerando que dentre os números exatos já temos valores com decimais, a exemplo do Numeric, Decimal, Smallmoney, Money, dentre outros.

No conteúdo do curso são mencionadas as seguintes excplicações, mas ainda assim não ficou exatamente clara a diferença entre os tipos de dados "Números Exatos" e "Numéricos Aproximados":

Tipos de Dados - Números Exatos

  • Bigint - intervalo de -2^63 (-9.223.372.036.854.775.808) a 2^63-1 (9.223.372.036.854.775.807) - 8 bytes
  • Numeric - Decimal com precisão e escalas fixos. Esta precisão varia de 1 a 38 casas decimais. O tamanho do campo depende do número de casas decimais (de 5 a 17 bytes).
  • Bit - Aceita valores 1, 0 ou nulo.
  • Smallint - intervalo de -2^15 (-32.768) a 2^15-1 (32.767) - 4 bytes.
  • Decimal - igual a Numeric.
  • Smallmoney - Representa valores monetários ou moedas. Vai de -214.748,3648 a 214.748,3647. Ele é representado com um identificador da moeda na frente do número.
  • Int - Intervalo de -2^31 (-2.147.483.648) a 2^31-1 (2.147.483.647) - 4 bytes.
  • Tinyint - 0 a 255.
  • Money - Representa valores monetários ou moeda. Vai de -922.337.203.685.477,5808 a 922.337.203.685.477,5807. Ele é representado com um identificador da moeda na frente do número.

Tipos de Dados - Numéricos Aproximados - Números usados como ponto flutuante (aproximados)

  • Float - -1,79E+308 a -2,23E-308 - Tamanho depende do valor.
  • Real - 3,40E + 38 a -1,18E - 38 - 4 bytes.
1 resposta

Oi Patrícia tudo bem?

Ótima pergunta!!

Números exatos guardam na memória todos os dígitos dos números. Já números aproximados, guardam na memória alguns dígitos e o resto do número "esconde" arredondando e jogando uma notação científica (se necessário) que é aquele E + 15 que significa x 10^15 (multiplicado a dez elevado a quinze).

Espero ter ajudado!!!