• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

M6

Precisão Numérica

3 mensagens neste tópico

Um dos problemas mais comuns quando se trabalha com números é a sua precisão. Não é incomum o teste 0.0 = 0 dar falso, ou 0.7 + 0.1 = 0.799999999999... problemas com que já me deparei em várias linguagens.

Encontrei algora um problema destes em JavaScript, em que 0.7 + 0.1 = 0.7999999999 e não 0.8, algo que é intolerável no sistema em que este resultado aparece.

Um pouco de investigação e encontrei uma implementação de uma calculadora de alta precisão: High Precision JavaScript Calculator.

A solução implementada passa pela "simples" separação da parte inteira da parte decimal trabalhando depois esses valores em separado.

O autor não refere nenhuma licença sobre o uso deste código, mas fiquei com a sensação de que o mesmo pode ser usado sem problemas a nível não comercial.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

0.1 não pode ser representado no formato de vírgula flutuante.

até no MatLab 0.1+0.7==0.8 dá falso...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora