Серый Ангел (_valerka_) wrote,
Серый Ангел
_valerka_

Скоро MS-математика станет фактическим стандартом

Ошибка умножения в Excel 2007


Если в Excel 2007 умножить 850 на 77.1, то результат будет 100000, а не65535, как ожидается. Более того, если прибавить 1 (=A1+1), торезультат будет 100001, а если отнять, то 65534. Случаев, когда Excel2007 ошибается достаточно много:

=5.1*12850
=10.2*6425
=20.4*3212.5
=40.8*1606.25
=77.1*850
=154.2*425
=212.5*308.4
=308.4*212.5
=425*154.2
=2*10.2*3212.5
и т.д.

К счастью, ошибка проявляет себя достаточно ограниченно. Если прибавитьне 1, а любое другое число, то результат будет верный. Тем не менее,при расчете достаточно сложных таблиц эта ошибка может неприятнопроявить себя.

По неподтвержденным данным, патч уже создан и доступен узкому кругуподписчиков MSDN (high-level MSDN subscribers). Однако официальнойинформации пока на сайте нет.

Предыдущие версии Excel не содержат этой ошибки.

Некоторые из других особенностей экселя:
1. Excel 2003 нормально умножает 850 на 77.1, но если перевестирезультат (65535) в шестнадцатеричную систему с помощью Dec2Hex, торезультат будет FFFE, что на 1 меньше правильного ответа.Соответственно, Dec2Hex(850*77.1+1) будет FFFF, что опять на 1 меньше.В то же время, Dec2Hex(850*77.1+2) = 10001, т.е. вычисление проходитправильно.

2. Excel не всегда верно рассчитывает стандартное отклонение. Например,если взять произвольный x и посчитать стандартное отклонение дляпоследовательности x+1, x+2, ..., x+10, то результат должен быть3.027650354. Однако для некоторых x Excel неправильно считаетстандартное отклонение. Например, для 9989999999223 мы получаем123575.8667. Если слегка изменять это значение x (в пределах 0.05), тостандартное отклонение будет изменяться на очень значительную величину.

По материалам microsoft.public.excel.
Tags: soft, ноутбучное, программерское
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments