тайная жизнь эпиграф:
— Алё, это Петренко Степан Петрочич?
— Нет, это Рабинович Абрам Моисеевич.
— это 55-66-77?
— нет, это 55-66-78
— Надо же, ошибка в шестом знаке, а какая разница!
Собственно псто: есть у меня одна програмка на фортране, маленькая, перегоняющая один файл в другой с небольшми изменениями или без и там, я перетаскивал кусок из другого кода и исторически получилось, что действительные числа выдаются с двойной точностью. Никакой нужды в двойной точности нет, просто лень править, ибо файлы небольшие и чаще всего вскоре удаляются. А в последнее время стало интересно: вот есть на входе у нас число 1.0, и на выход оно подаётся с двойной точностью, но при этом это практически никогда не 1.000...000, а 1.000...002 или 0.99999...9997, например. Ну там, где такая точность решает, в коллайдерах там всяких оно понятно учтено и купировано (ну да, оптимист я), но мне интересно вот чего — а в чём природа этого отклонения в 16м знаке? Почему в одном случае +0.000...002, а в другом -0.0000...003? Вы же умные, вы же начитанные, вы же знаете ответ.