Select the product you need help with
As operações aritméticas de vírgula flutuante podem originar resultados incorrectos no ExcelArtigo: 78113 - Ver produtos para os quais este artigo se aplica. Nesta páginaSumário Este artigo descreve como o Microsoft Excel armazena e calcula números de vírgula flutuante. Isto poderá afectar o resultado de alguns números ou fórmulas devido ao arredondamento e/ou truncagem de dados. Descrição GeralO Microsoft Excel foi concebido com base na especificação IEEE 754 relativa ao armazenamento e cálculo de números de vírgula flutuante. O IEEE é o Institute of Electrical and Electronics Engineers, uma entidade internacional que, entre outras coisas, determina as normas de software e hardware informático. A especificação 754 é uma especificação largamente adoptada que descreve o modo como os números de vírgula flutuante devem ser armazenados num computador binário. A sua popularidade deve-se ao facto de permitir que os números de vírgula flutuante sejam armazenados numa quantidade razoável de espaço e que os cálculos sejam efectuados de um modo relativamente rápido. A norma 754 é utilizada nas unidades de vírgula flutuante e nos processadores de dados numéricos de praticamente todos os microprocessadores dos computadores actuais que implementam operações matemáticas de vírgula flutuante, incluindo os processadores Intel, Motorola, Sun e MIPS.Quando os números são armazenados, um número binário correspondente pode representar qualquer número inteiro ou fraccional. Por exemplo, a fracção 1/10 pode ser representada num sistema numérico decimal como 0,1. No entanto, o mesmo número em formato binário transforma-se no decimal binário repetitivo 0001100110011100110011 (e assim sucessivamente) e pode ser repetido infinitamente. Este número não pode ser representado numa quantidade de espaço finita (limitada). Consequentemente, este número é arredondado por defeito, aproximadamente -2,8E-17, quando é armazenado.No entanto, a especificação IEEE 754 tem algumas limitações, que podem ser enquadradas em três categorias gerais:
Mais InformaçãoLimitações de Máximo/MínimoTodos os computadores têm um número máximo e um número mínimo que podem ser processados. Uma vez que o número de bits de memória onde o número está armazenado é finito, 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 mínimo positivo que pode ser armazenado é 2,2250738585072E-308.Casos em Que a Norma IEEE 754 foi Respeitada
Casos em Que a Norma IEEE 754 Não foi Respeitada
PrecisãoEm binário, um número de vírgula flutuante é armazenado em três partes, dentro de um intervalo de 65 bits: o sinal, o expoente e a mantissa.Reduzir esta tabela
A mantissa e o expoente são armazenados como componentes separados. Consequentemente, a precisão possível poderá variar, dependendo do tamanho do número (a mantissa) que está a ser manipulado. No caso do Excel, apesar deste poder armazenar números entre 1,79769313486232E308 e 2,2250738585072E-308, só o poderá fazer dentro de 15 dígitos de precisão. Esta limitação é um resultado directo da conformidade com a especificação IEEE 754 e não é uma limitação do Excel. Este nível de precisão também é encontrado noutros programas de folha de cálculo. Os números de vírgula flutuante são representados no formato seguinte, em que expoente é o expoente binário: X = Fracção * 2^(expoente - compensação) Fracção é a parte fraccional normalizada do número, isto porque o expoente é ajustado de modo a que o bit à esquerda seja sempre um 1. Deste modo, o bit não tem de ser armazenado, permitindo obter mais um bit de precisão. É por este motivo que existe um bit implícito. Isto é semelhante à notação científica, onde o expoente é manipulado de modo a ter um dígito à esquerda da casa decimal; à excepção do binário, é sempre possível manipular o expoente de modo a que o primeiro bit seja um 1, porque só existem 1s e 0s.A compensação é o valor de compensação utilizado para evitar ser necessário armazenar expoentes negativos. A compensação para números de precisão simples é 127 e para números de precisão dupla é 1,023 (decimal). O Excel armazena números utilizando a precisão dupla. Exemplo Utilizando Números Muito GrandesIntroduza os seguintes dados num livro novo:A1: 1,2E+200 B1: 1E+100 C1: =A1+B1 Exemplo Utilizando Números Muito PequenosIntroduza os seguintes dados num livro novo:A1: 0,000123456789012345 B1: 1 C1: =A1+B1 O valor resultante na célula C1 seria 1,00012345678901 em vez de 1,000123456789012345. Isto é causado pelo facto da especificação IEEE só armazenar 15 dígitos significativos de precisão. Para poder armazenar o cálculo acima, o Excel iria necessitar de, pelo menos, 19 dígitos de precisão. <Formatting Type="H3">Corrigir Erros de Precisão</Formatting> O Excel oferece dois métodos básicos para compensar erros de arredondamento: a função ARRED e a opção de livro <UITerm>Precisão como apresentado</UITerm> ou <UITerm>Definir precisão como apresentada</UITerm>. Método 1: A função ARRED</Formatting> O exemplo seguinte, com os dados indicados acima, utiliza a função ARRED para forçar um número para cinco dígitos. Isto permite-lhe comparar o resultado com outro valor com êxito. <Formatting Type="FixedText"><

Voltar ao topo








