NaN

Origem: Wikipédia, a enciclopédia livre.
Saltar para a navegação Saltar para a pesquisa
Question book-4.svg
Esta página cita fontes confiáveis e independentes, mas que não cobrem todo o conteúdo (desde junho de 2013). Ajude a inserir referências. Conteúdo não verificável poderá ser removido.—Encontre fontes: Google (notícias, livros e acadêmico)

Em computação, NaN (acrônimo em inglês para Not a Number) é um valor ou símbolo usado nas linguagens de programação para representar um valor numérico indefinido ou irrepresentável. Seu uso sistemático foi introduzido pelo padrão IEEE 754 em 1985, junto com a representação de outras quantidade não finitas tais como infinitos.

A raiz quadrada de um número negativo, que é um número imaginário e portanto não possui representação em números reais ou o valor de 0/0, que também é indefinido dentro dos números reais, são exemplos de valores representados com NaN. Operações matemáticas quando feitas com strings que não podem ser convertidas também podem ser representados como NaN (em JavaScript, por exemplo), dependendo da linguagem de programação usada [1].

Ponto flutuante[editar | editar código-fonte]

Em contas de ponto flutuante, NaN é diferente de infinito, ainda que ambos sejam tratados como casos especiais na representação de ponto flutuante de números reais bem como em operações de ponto flutuante. Similarmente, uma operação inválida não é o mesmo que overflow (pode devolver um infinito) ou underflow (devolve o menor número normalizado, um número desnormalizado, ou zero) aritméticos.

Os NaN do IEEE754 são representados com o campo do expoente preenchido por uns (assim como valores de infinito) e algum número não nulo no significando (para distingui-los de valores de infinito). Essa representação permite a definição de múltiplos valores distintos de NaN, dependendo do valor dos bits no significando e também do valor do bit inicial de sinal; não é necessário, entretanto, um programa descrever um comportamento diferente para esses valores distintos de NaN.

Representando NaN[editar | editar código-fonte]

Existem diferentes formas de escrever NaN em diferentes sistemas operativos e linguagens de programação:


 NaN
 NaN%
 NAN
 NaNQ
 NaNS
 qNaN
 sNaN
 1.#SNAN
 1.#QNAN
 -1.#IND

Referências

  1. Flanagan, David. JavaScript: O Guia Definitivo. [S.l.]: Bookman Editora. ISBN 9788565837484 
Ícone de esboço Este artigo sobre computação é um esboço. Você pode ajudar a Wikipédia expandindo-o.