M6 Posted July 5, 2006 at 09:58 AM Report #36305 Posted July 5, 2006 at 09:58 AM 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. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
Rui Carlos Posted July 5, 2006 at 10:40 AM Report #36312 Posted July 5, 2006 at 10:40 AM 0.1 não pode ser representado no formato de vírgula flutuante. até no MatLab 0.1+0.7==0.8 dá falso... Rui Carlos Gonçalves
sandro_G Posted February 9, 2007 at 05:12 PM Report #81515 Posted February 9, 2007 at 05:12 PM Boa dica...Poupa algumas horas de entrar em stress... ||I'm the devil25, I'm G and I'm sandro_G||
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now