Используете EXCEL для точных вычислений в широких диапазонах? У меня для вас сюрприз.

Открываем Excel.
В одну ячейку вносим такую формулу: =(2^10+0,2)-2^10
А во вторую - такую: =(2^50+0,2)-2^50

Кто-то скажет, что разница в данном примере несущественна?
Достаточно немного усложнить примеры и посмотреть на разницу:
=((2^50+0,2)-2^50) х 1000000
=((2^10+0,2)-2^10) х 1000000
(вместо *, поставлен х, потому что Pikabu по другому не отображает)
Если кто не знает, что такое "^" - это возведение в степень.
И да, это - не только проблема Excel.
Корень зла кроется в механизме операций с плавающей точкой с помощью двоичной арифметики.
Вы смотрите срез комментариев. Показать все
3
Автор поста оценил этот комментарий
Эксель нужен для того, чтобы сложить циферки из клиент-банка.
Для расчетов в широком диапазоне используйте математические пакеты.

Корень зла кроется не в двоичной арифметике, а в том, что эксель, как и большинство других программ, учитывает лишь 16-18 старших десятичных знаков, что каждый год открывают для себя журналистски настроенные индивиды. Чтобы увидеть особенности двоичной арифметики, нужно к 0 прибавить очень много (n) раз 0,1 и сравнить результат с 0,1 * n.

Это такой типичный пример, когда проблемы не существует, пока гуманитарий не начнет копаться в инженерной области. Дело в том, что раз уж кто-то начал что-то вычислять с высокой/неограниченной точностью, то он должен вести также контроль погрешности, о чем ни Эксель, ни Калькулятор даже не в курсе.
раскрыть ветку (3)
Автор поста оценил этот комментарий
Насчет высокой точности это ты верно заметил, но объяснения в чем кроется корень зла не правильное. Попробуй сам. Там проблема не просто в учете 16-18 старших десятичных знаков
раскрыть ветку (2)
Автор поста оценил этот комментарий
Именно в представлении чисел с плавающей точкой и кроется засада.
Есть нотация от Intel в которой четко расписано как использовать запись числа через мантиссу.

Вот тут почти просто расписано почему есть проблемы
http://habrahabr.ru/post/112953/
раскрыть ветку (1)
Автор поста оценил этот комментарий
с тобой я согласен, я не согласен с комментатором wruza
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку