ID do artigo: 78113 - Última revisão: domingo, 18 de setembro de 2011 - Revisão: 2.0 Aritmética de ponto flutuante pode fornecer resultados imprecisos no Excel
Nesta páginaSumário Este artigo descreve como o Microsoft Excel armazena e calcula números de ponto flutuante. Isto pode afetar os resultados de alguns números ou fórmulas devido ao arredondamento e/ou truncamento de dados. Visão geralO Microsoft Excel foi projetado com base na especificação IEEE 754 para armazenar e calcular números de ponto flutuante. IEEE (Institute of Electrical and Electronics Engineers), uma instituição internacional que, entre outras coisas, determina padrões para software e hardware de computador. A especificação 754 é uma especificação amplamente adotada que descreve como os números de ponto flutuante devem ser armazenados em um computador binário. Ela é popular porque permite que os números de ponto flutuante sejam armazenados em uma quantidade razoável de espaço e que os cálculos sejam realizados de maneira relativamente rápida. O padrão 754 é utilizado nas unidades de ponto flutuante e nos processadores de dados numéricos em quase todos os microprocessadores atuais com base em PC que implementam aritmética de ponto flutuante, incluindo os processadores Intel, Motorola, Sun e MIPS.Ao armazenar números, um número binário correspondente pode representar todos o números ou número fracionário. Por exemplo, a fração 1/10 pode ser representada em um sistema de número decimal como 0.1. Entretanto, o mesmo número em um formato binário torna-se o decimal binário repetitivo 0001100110011100110011 (e assim por diante) e pode ser repetido infinitamente. Este número não pode ser representado em uma quantidade de espaço finita (limitada). Por isso, esse número é arredondado para baixo em aproximadamente -2.8E-17 ao ser armazenado.Entretanto, existem algumas limitações da especificação IEEE 754 que se encaixam em três categorias gerais:
Mais InformaçõesLimitações máximas/mínimasTodos os computadores têm um número máximo e mínimo que podem ser manipulados. Como o número de bits de memória na qual o número é armazenado é finito, conseqüentemente o número máximo ou mínimo que pode ser armazenado também é finito. Para o Excel, o número máximo que pode ser armazenado é 1.79769313486232E+308 e o número positivo mínimo que pode ser armazenado é 2.2250738585072E-308.Casos nos quais seguimos a IEEE 754
Casos nos quais não seguimos a IEEE 754
PrecisãoUm número de ponto flutuante é armazenado em um binário em três partes dentro de um intervalo de 65 bits: o sinal, o expoente e a mantissa.Recolher esta tabela
A mantissa e o expoente são armazenados como componentes separados. Como resultado, a quantidade de precisão possível pode variar conforme o tamanho do número (a mantissa) que está sendo manipulado. No caso do Excel, embora possa armazenar números de 1.79769313486232E308 a 2.2250738585072E-308, ele só poderá fazer isso dentro de 15 dígitos de precisão. Esta limitação é um resultado direto por seguir estritamente a especificação IEEE 754 e não uma limitação do Excel. Este nível de precisão é encontrado em outros programas de planilha eletrônica também. Os números de ponto flutuante são representados na seguinte forma, onde expoente é o expoente binário: X = Fração * 2^(expoente - ajuste) Fração é a parte fracionária normal do número, normalizada porque o expoente é ajustado de modo que o bit à esquerda seja sempre 1. Assim, ele não precisa ser armazenado e você obtém mais um bit de precisão. Por isso existe um bit implícito. Isso parece com uma notação científica, onde você manipula o expoente para ter um dígito à esquerda do ponto decimal, com exceção dos binários, você pode sempre manipular o expoente de modo que o primeiro bit seja 1, pois existem apenas 1s e 0s.O ajuste é a diferença usada para evitar o armazenamento de expoentes negativos. O ajuste para números de precisão única é 127 e 1,023 (decimal) para números de precisão dupla. O Excel armazena os números usando precisão dupla. Exemplo usando números muito grandesDigite o que segue em uma nova pasta de trabalho:A1: 1.2E+200 B1: 1E+100 C1: =A1+B1 Exemplo usando números muito pequenosDigite o que segue em uma nova pasta de trabalho:A1: 0.000123456789012345 B1: 1 C1: =A1+B1 Corrigir erros de precisãoO Excel oferece dois métodos básicos para compensar erros de arredondamento: a função ROUND e a opção de pasta de trabalho Precisão conforme exibido ou Definir precisão conforme exibido.Método 1: A função ROUNDO exemplo a seguir usando os dados acima, utiliza a função ROUND para forçar um número a cinco dígitos. Isto permite que você compare com êxito o resultado a outro valor.A1: 1.2E+200 B1: 1E+100 C1: =ROUND(A1+B1,5) é igual a 1.2E+200. <





Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
Voltar para o início