Sobre a precisão aumentada dos cálculos no Pages, Numbers e Keynote

Após atualizar o Pages, Numbers e Keynote, você notará pequenas alterações nos resultados dos cálculos em seus documentos. Isso porque a versão mais recente do iWork inclui uma atualização do mecanismo de cálculo, que produz resultados com ainda mais precisão do que antes.

A maioria das fórmulas não mostra diferenças visíveis, mas cálculos que resultam ou usam números extremamente pequenos agora mostram uma resposta ainda mais precisa.

Exemplo 1

Nas versões anteriores do Numbers, Pages e Keynote, um cálculo como = 10,0 - 9,8 resulta em um valor de 0,199999999999999.

Alterar o número de casas decimais mostradas na célula (entre 1 e 14 casas decimais) pode resolver o problema para mostrar o resultado esperado de 0,2. Aumentando o número de casas decimais mostradas nas células 0,199999999999999000000000000000.

Isso acontece devido à maneira como o binário armazena números decimais internamente. Representações binárias de números decimais podem induzir diferenças muito pequenas. O mecanismo de cálculo do Pages, Numbers e Keynote sempre empregou técnicas sofisticadas para evitar que essas diferenças se agregassem aos cálculos, mas em precisões muito altas as diferenças podem se tornar aparentes.

O novo mecanismo de cálculo melhora drasticamente as versões anteriores usando uma representação decimal de números ao longo do cálculo.

O resultado é que o mesmo cálculo = 10,0 - 9,8 agora resulta em um valor de 0,2. Aumentar o número de decimais exibidos agora mostra um valor de 0,2000000000000000000000000000000.

Exemplo 2

Nas versões anteriores do Numbers, a fórmula ARRED(8.415,2) retorna 8.41. Isso também acontece devido ao modo como os valores são armazenados internamente no binário.

Com o novo mecanismo de cálculo, ARRED(8.415,2) retorna8.42.

Sobre codificação binária decimal e codificação de ponto flutuante decimal

A maioria dos computadores armazena números como uma série de zeros e uns, que são os valores binários. Um processo chamado codificação binária decimal converte números fracionários em suas contrapartes binárias. Quando números são codificados usando a codificação binária decimal, alguns valores não podem ser representados com precisão total. Por exemplo, 0,2 em forma binária 0,001100110011... (repete). O valor deve ser truncado para codificá-lo usando a codificação binária decimal, o que altera um pouco o valor armazenado. Mesmo que as discrepâncias apresentadas pela codificação binária decimal possam ser muito pequenas, essas discrepâncias se tornam mais aparentes quando amplificadas por meio de certos tipos de cadeias de cálculo.

As versões mais recentes de números de codificação do Pages, Numbers e Keynote usam a codificação de ponto flutuante decimal de 128 bits. Essa é uma maneira muito mais precisa de codificar frações decimais que evita erros de arredondamento típicos da codificação binária decimal. Além disso, o mecanismo de cálculo atualizado opera diretamente com números codificados com o ponto flutuante decimal — os valores nas células da tabela são armazenados com mais precisão e os resultados das fórmulas são calculados com mais precisão.

Muitas fórmulas não mostram diferenças visíveis, mas cálculos que resultam ou usam números extremamente pequenos agora mostram uma resposta ainda mais precisa.

Data da publicação: