Como corrigir erros de arredondamento de operações aritméticas de vírgula flutuante

Traduções de Artigos Traduções de Artigos
Artigo: 214118 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Muitas combinações de operações aritméticas nos números de vírgula flutuante no Microsoft Excel e Microsoft Works podem produzir resultados que parecem estar incorrectos por quantidades muito reduzidas. Por exemplo, a equação
=1*(.5-.4-.1)
pode ser avaliado como a quantidade (- 2.78E - 17), ou-0.0000000000000000278 em vez de 0.

Causa

Este comportamento não constitui um problema ou uma limitação do Excel ou o Works; este comportamento ocorre porque a norma de vírgula flutuante 754 Institute of Electrical and Electronics Engineers (IEEE) requer que seja armazenada números em formato binário.

Como contornar

Método 1

Para minimizar os efeitos da incerteza na armazenagem aritmética ponto flutuante, utilize a função Round() para arredondar números para o número de casas decimais requerido pelo seu cálculo. Por exemplo, se estiver a trabalhar com a moeda, provavelmente será arredondada para 2 casas decimais:

=ROUND(1*(0.5-0.4-0.1),2)

Método 2

Pode impedir frequentemente vírgula flutuante arredondamento erros possa afectar o trabalho utilizando a Precisão como apresentado opção. Esta opção força o valor de cada número da folha de cálculo a ser a precisão é apresentada na folha de cálculo.

Nota Utilização da opção Precisão como apresentado pode ter efeitos de cálculo cumulativo que podem tornar os dados inexactos cada vez mais longo do tempo. Utilize esta opção apenas se tiver a certeza de que o percision apresentado irá manter a exactidão dos dados.

Para utilizar a opção <a0>Precisão como apresentado, siga estes passos:

Excel 2000, Excel 2002 e Excel 2003
  1. No menu Ferramentas, clique em Opções.
  2. No separador cálculo, em Opções do livro, clique para seleccionar a caixa de verificação <a1>Precisão como apresentado.
  3. Clique em OK.
Excel 2007
  1. Clique no Botão do Microsoft Office, clique em Excel opções e, em seguida, clique em Avançadas categoria.
  2. Na secção quando calcular este livro, seleccione o livro que pretende, clique para seleccionar a caixa de verificação <a1>Definir precisão como apresentado e, em seguida, clique em OK.
Se utilizar a opção <a0>Precisão como apresentado, tem de formatar os números utilizando um formato de número específico.

Para formatar células para uma precisão de número específica, siga estes passos:
  1. Clique com o botão direito do rato nas células que pretende formatar e, em seguida, clique em Formatar células.
  2. No separador número, em categoria, clique em <a2>número</a2>.
  3. Na caixa casas decimais, seleccione a precisão (número de casas decimais) que pretende.
  4. Clique em OK.
Excel 2010
  1. Clique no separador ficheiroExcel opções e, em seguida, clique em Avançadas categoria.
  2. Na secção quando calcular este livro, seleccione o livro que pretende, clique para seleccionar a caixa de verificação <a1>Definir precisão como apresentado e, em seguida, clique em OK.
Se utilizar a opção <a0>Precisão como apresentado, tem de formatar os números utilizando um formato de número específico.

Para formatar células para uma precisão de número específica, siga estes passos:
  1. Clique com o botão direito do rato nas células que pretende formatar e, em seguida, clique em Formatar células.
  2. No separador número, em categoria, clique em <a2>número</a2>.
  3. Na caixa casas decimais, seleccione a precisão (número de casas decimais) que pretende.
  4. Clique em OK.

Mais Informação

A norma IEEE 754 é um método de armazenamento de números de vírgula flutuante de um modo compacto que é fácil de manipular. Esta Norma é utilizada pelo coprocessadores Intel e a maioria dos programas baseados no PC que implementam operações matemáticas de vírgula flutuante.

IEEE 754 Especifica que os números ser armazenado num formato binário para reduzir os requisitos de armazenamento e permitir incorporadas instruções aritméticas binárias que estão disponíveis em todos os microprocessadores para processar os dados de uma forma rápida relativamente. No entanto, alguns números que são simples, não repetitivos números decimais são convertidos em números binários que não podem ser armazenados com precisão perfeita de repetição.

Por exemplo, o número de 1/10 pode ser representada num sistema de número decimal com um número decimal simples:
.1
No entanto, o mesmo número em formato binário transforma-se o ficheiro binário repetição decimal:
.0001100011000111000111 (e assim sucessivamente)
Este número não pode ser representado numa quantidade de espaço finita. Por conseguinte, este número é arredondado por defeito por aproximadamente - 2.78E - 17 quando é armazenado.

Se forem efectuadas várias operações aritméticas para obter um resultado específico, estes erros de arredondamento podem ser cumulativos.

Referências

Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
78113Operações aritméticas de vírgula flutuante podem originar resultados incorrectos

Excel 2007 e Excel 2010

Para obter mais informações sobre como alterar a precisão de cálculo, clique em <a1>Ajuda do Microsoft Office Excel</a1> na barra de ferramentas, escreva a alteração quando e como as fórmulas são calculadas na Ajuda do Excel e, em seguida, clique em Procurar para visualizar o tópico.

Excel 2002 e Excel 2003

Para mais informações sobre como alterar a precisão de cálculo, clique em <a1>Ajuda do Microsoft Excel</a1> no menu Ajuda, escreva a alteração quando e como as fórmulas são calculadas no Assistente do Office ou no Assistente de respostas e, em seguida, clique em Procurar para visualizar o tópico.

O Excel 2000

Para obter mais informações sobre como alterar a precisão de cálculo, clique em <a1>Ajuda do Microsoft Excel</a1> no menu Ajuda, escreva a alterar a forma como o Microsoft Excel calcula as fórmulas no Assistente do Office ou no Assistente de respostas e, em seguida, clique em Procurar para visualizar o tópico.

Propriedades

Artigo: 214118 - Última revisão: 13 de maio de 2010 - Revisão: 8.0
A informação contida neste artigo aplica-se a:
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Office Excel 2003
  • Microsoft Office Excel 2007
  • Microsoft Excel 2010
Palavras-chave: 
kbmt kbprb KB214118 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 214118

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com