Я встретил две различные формулы точности для чисел с плавающей запятой.
⌊ (N-1) log 10 (2) ⌋ = 6 десятичных цифр (Single-precision)
и
N log 10 (2) & асимп. 7.225 десятичных цифр (Single-precision)
Где N = 24 Значительные биты (Single-precision)
Первая формула находится в верхней части страницы 4 " IEEE Standard 754 для двоичной арифметики с плавающей запятой", написанной профессором W Кахан.
Вторая формула найдена в статье Википедии " Формат с плавающей запятой с одинарной точностью в разделе IEEE 754 с двойной точностью, точечный формат: binary32.
По первой формуле профессор В. Кахан говорит
Если десятичная строка с не более 6 sig. dec. преобразуется в Single, а затем преобразуется обратно в одно и то же число sig. Декабре, то окончательная строка должна соответствовать оригиналу.
Для второй формулы, Wikipedia говорит
... общая точность 24 бита (эквивалентно log 10 (2 24) ≈ 7.225 десятичных цифр).
Результаты обеих формул (6 и 7,225 десятичных цифр) различны, и я ожидал, что они будут одинаковыми, поскольку я предположил, что они оба предназначены для представления наиболее значимых десятичных цифр, которые могут быть преобразованы в двоичные и с плавающей запятой затем преобразуется обратно в десятичное с тем же числом значащих десятичных цифр, с которого он начинался.
Почему эти два числа отличаются друг от друга, и какова самая значимая десятичная цифра, которая может быть преобразована в двоичную и обратно в десятичную без потери значимости?