В Excel 2007/2010 я получаю это странное поведение:
Formula in cell: =2.6+1.4+4.62-8.2
Result in cell: 0.420000000000002000
Странные дополнительные «2» около 14DP. Может кто-нибудь объяснить, почему это происходит, пожалуйста?
В Excel 2007/2010 я получаю это странное поведение:
Formula in cell: =2.6+1.4+4.62-8.2
Result in cell: 0.420000000000002000
Странные дополнительные «2» около 14DP. Может кто-нибудь объяснить, почему это происходит, пожалуйста?
Ответы:
Как уже упоминалось в комментариях, это не ошибка. Это происходит из-за неизбежной неточности арифметики с плавающей запятой из-за конечного числа битов, доступных для хранения значений, что приводит к приблизительному представлению, которое становится очевидным при отображении более значимых цифр.
Вот несколько полезных статей для вас:
IEEE с плавающей точкой
Числовая точность в Microsoft Excel
Код ужасов - Почему компьютеры сосут в математике?
Как исправить ошибки округления в арифметике с плавающей точкой
Арифметика с плавающей точкой может давать неточные результаты в Excel
Что каждый ученый должен знать об арифметике с плавающей точкой
Понимание точности с плавающей точкой, иначе «Почему Excel дает мне, казалось бы, неправильные ответы?» ( Архивная версия с изображениями )
источник