Ontem o Marco Gomes perguntou por que 0.4 - 0.5 é 0.09999999999999998 em vez de 0.1 em Javascript. Esse post é uma tentativa de resposta à essa pergunta. Existe um número infinito de números reais entre 0.0 e 1.0 então não dá pra representar todos os números reais com precisão infinita já que a memória do computador é finita. Ao contrário do que disseram nos comentários, dá sim pra representar 0.4, 0.5 e 0.1 em 64 bits (tamanho do float no Javascript) e em até muito menos que...