На главную страницу AlgoNet В сотрудничестве с ZDNet
АРХИВ СТАТЕЙ 2007-9-27 на главную / новости от 2007-9-27
AlgoNet.ru
поиск

 

Место для Вашей рекламы!

 

Все новости от 27 сентября 2007 г.

Баг Excel 2007 искажает результаты вычислений

Microsoft признала, что последняя и лучшая версия одного из наиболее важных компонентов ее комплекса деловых программ Office — Excel 2007 – содержит серьезную ошибку, которая приводит к отображению неправильных результатов вычислений.

На прошлой неделе участники публичного форума Google, посвященного Microsoft Excel, обнаружили, что в некоторых случаях Excel 2007 выдает абсолютно неправильные результаты. Например, при попытке перемножить 850 и 77,1 у Excel получается 100 000, тогда как правильный результат: 65 535. Есть и другие случаи, когда правильный ответ должен быть 65 535, а отображается 100 000. Число 65 535 примечательно тем, что это максимальное значение 16-разрядного двоичного счетчика.

Во вторник команда разработчиков Excel из Microsoft пообещала в ближайшее время выпустить поправку и объяснила, что ошибка кроется не в вычислениях, а в их отображении. «В 12 очень специфических случаях Excel неправильно отображает результат… Проблема заключается не в самих вычислениях, а лишь в отображении их результата в таблице (в памяти Excel результат получается правильный)», — говорится в блоге Microsoft.

Это должно означать, что если неправильно отображаемый результат используется для дальнейших вычислений, ошибки не будет. Однако некоторые участники упомянутого выше форума Google проводят пример, когда при перемножении 850 и 77,1 с последующим добавлением единицы результат все равно получается неправильным: 100 001.

В любом случае это очень серьезная ошибка, которая может стоить реальным людям реальных денег, и она должна быть немедленно исправлена. Надо отметить, что на этот раз Microsoft открыто признала проблему, как только она была обнаружена, что случается не всегда. Возможно, руководство Microsoft по управлению продуктами усвоило уроки прошлого. В свое время Intel, когда в арифметическом устройстве ее нового процессора Pentium была обнаружена ошибка, пыталась замять эту проблему, что, конечно же, не сработало.

Еще этот случай напоминает те давние времена до интернета, когда слово «баг» ассоциировалось не с компьютерным вирусом, а с тривиальными ошибками программирования.

 В продолжение темы:
2007-11-20   Арифметическая ошибка может привести к краху криптографических систем
2008-03-21   Патч для Excel 2003 вызывает ошибки в расчетах
Обсуждение и комментарии
Банч
27 Sep 2007 5:54 PM
>может стоить реальным людям реальных денег
в смысле "реальным" пацанам? ;)

И что за финальный пассаж про "баг" ?
Баг всегда был и остаётся ошибкой в программе, и иногда совсем не тривиальной.
А вирус всегда был вирусом.
 

Ender
28 Sep 2007 8:35 AM
Ага, Билли поставят на счетчик. :-)
 

beliva - belivalogis.ru
28 Sep 2007 12:46 PM
Мне показалось странным, что MicroSoft прокоментировало это ошибкой отображения данных. Если действительно при прибавлении 1 к тому произведению получается 100001 тогда либо они нас обманываю либо в процессе итераций вычисления используется результат вывода на экран, что во-первых не производительно, во-вторых не оптимально.
 

op8
6 Oct 2007 4:07 PM
если к результату добавлять не 1 а 2, то получается уже правильный результат.
 

 

← август 2007 18  19  20  21  24  25  26  27  28 октябрь 2007 →
Реклама!
 

 

Место для Вашей рекламы!