
Estou testando múltiplos de 0,4 no Excel.
=MOD(1,2;0,4)
retorna 0,4, quando deveria retornar zero.
Responder1
A razão é que o Excel funciona internamente com números de ponto flutuante.
Isso significa que 0,4 é representado internamente como uma sequência de bits à direita do ponto decimal, que representa 1/2, 1/4, 1/8, 1/16, etc., até cerca de 1/(2^31 ).
Portanto, qualquer coisa que sejanãoum número inteiro (e não éexatamenterepresentável com as frações listadas acima) possui um erro de arredondamento associado; isso também se aplica a todas as etapas de um cálculo.
MOD(*,0.4)
é apenas um exemplo para mostrar isso (um exemplo bastante flagrante, admito).
Basicamente,você não pode usar de forma confiável MOD
com números não inteiros como o segundo parâmetro. Você precisa multiplicar e dividir seus dados adequadamente, se isso for uma opção (como =MOD(10*x;10*m)/10
), ou codificar você mesmo a fórmula MOD: =x-INT(x/m)*m
.