Estava olhando a discussão, e
gostaria de saber como calcula esta representação binária.
Cezar,
note que nem todos estes numeros nao possuem representacao
binaria perfeita:
4.96 =
100.11110101110000101000111101011100001010001111010111 (
=
4.9599999999999999383484909024105265228684473934444104163875499178081282073594053273515617319174792...)
4.97
= 100.1111100001010001111010111000010100011110101110000101 (
=
4.9699999999999999522262787102249791917074708051575354490781853972972047883147623040656351019280470...)
5.02
=
101.0000010100011110101110000101000111101011100001010001111011
(exatamente)
5.03
= 101.0000011110101110000101000111101011100001010001111010111
(exatamente)
Por fim, como a matematica e' feita na representacao binaria
(que
neste caso e' imperfeita), a gente nao pode esperar os
mesmos
resultados.
Por isso a minha sugestao de usar o all.equal(),
que permite o uso de
tolerancia para compensar estes problemas na
representacao binaria....