Bug -- Microsoft Excel 2007 |
Duas semanas atrás eu relatei a chocante notícia de que o Excel não pode se multiplicar . Mais tarde, naquele mesmo dia da equipe do Microsoft Excel verificou-se que este é um bug Excel. Eles ainda identificaram twelve específicos valores de ponto flutuante (de um total de nove quintilhões possível) que mostram o comportamento desabaseado. A equipe parece ter sido ocupada, já que anunciou uma correção hoje. Eventualmente, será corrigida através das Atualizações Automáticas, mas se você se importa o suficiente para ler isso, você provavelmente vai querer baixar o hotfix imediatamente.
Para verificar o bug, eu tinha criado uma pasta de trabalho de teste que dividiu 65.535 por cada número de 1 a 65.535 e depois multiplicado o resultado o mesmo número. Naturalmente, isso deve acabar onde começou, com um valor de 65.535. Mas em mais de 10 mil casos, em vez exibido 100.000. Em outra folha deste livro que eu listei fórmulas que produzem cada um dos doze "problema" valores - por exemplo = 65.535-2 ^ (-35) . Eu instalei o hotfix, reiniciei o computador, abriu o arquivo e ... sim! Não há mais os 100 mil! esperamos que não haja mais outros (bugs) nocivos à espreita no código
UPDATE: Microsoft reconhece o problema e garante que vai aprender Excel para o Multiply . BOA NOTÍCIA: A equipe de Excel tem dissecado o problema em detalhe e está trabalhando febrilmente para swat este bug Excel . Duas semanas depois do anúncio assustador Microsoft corrigiu o bug . Obter o hotfix agora, ou apenas esperar que ele aparecer em Atualizações Automáticas. Se fosse apenas 850 * 77,1 que deu uma resposta errada, nós provavelmente poderia contornar isso. Mas há toneladas de números de outro problema, como eu descobri por mim mesmo. Criei uma planilha para dividir 65.535 por cada número de 1 a 65.535 em si, em seguida, multiplicar o número por esse resultado. Assim, por exemplo, dividiu 65.535 por 26 para obter 2,520.577. Então multiplicado por 26 2,520.577 para obter ... 100 mil? Mais de 10 mil desses cálculos simples deram a resposta errada. Nós não sabemos exatamente por que o problema vem à tona até que a Microsoft fala, mas há uma coisa sobre 65.535 - é o maior número 16-bit. Em binário é uma seqüência de 16 bites. Em hexadecimal (amigo do programador) é FFFF. Mas converter o "problema" resultados para hexadecimal em Excel rendimentos FFF E . Isso é certamente um indício. Enquanto isso, se você tiver alguma planilhas onde alguns resultados hit a faixa em torno de 65.535, pode ser uma boa idéia para verificar novamente com a sua calculadora sbx ... ou um lápis.
|