Что такое double rounding error?

Опубликовал на русскоязычном Stack Overflow вопрос и ответ по поводу double rounding error — ошибки двойного округления. Фактически, это полноценная статья по теме.

Беседы о программировании 003 :: Проблема конвертирования десятичной дроби в формат с плавающей точкой IEEE-754

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

Читать далее «Беседы о программировании 003 :: Проблема конвертирования десятичной дроби в формат с плавающей точкой IEEE-754»

Простые тесты для проверки конвертирования десятичной дроби в формат с плавающей точкой IEEE-754

[ Обновление: пост ещё актуален, но 3-я беседа с пояснениями уже опубликована ]

Перед следующей, 3-й беседой я бы хотел, чтобы Вы проверили то, как Ваш компилятор языка Си/Си++ осуществляет конвертирование числа в формат с плавающей точкой (одинарной — float — и двойной — double — точности). Я даю несложную программу с несколькими довольно простыми тестами. Попробуйте её скомпилировать и запустить.

Читать далее «Простые тесты для проверки конвертирования десятичной дроби в формат с плавающей точкой IEEE-754»