Вверх ↑
Ответов: 4612
Рейтинг: 746
#1: 2021-07-11 09:44:11 ЛС | профиль | цитата
Подобные манипуляции именно в этом месте - самообман: точность при вычислениях остается той же (если результат без вывода в окно подавать на дальнейшие вычисления), но происходит округление до меньшего количества знаков при выводе в окно (преобразовании в текст). Аналогичный эффект можно получить применив Math.round к результату. А изменение функции конвертации будет влиять на отображение всех чисел в программе.

Текущий вариант Extended2Str() был протестирован для получения одинаковых результатов со старой KOL в существующих компиляторах. Был задан набор известных чисел типа Double в двоичном виде (минимальных/максимальных значимых и др. - перечень в Википедии) и достигнуты одинаковые результаты с официальными компиляторами. При этом эта функция в официальных KOL падает на некоторых числах типа +/- Inf (моя - нет).
карма: 26

0
Редактировалось 1 раз(а), последний 2021-07-11 09:47:40