Этот вопрос относится к стандартным числам IEEE с плавающей запятой, используемым в C / x86.
Можно ли представить любое числовое (т. Е. Исключая специальные значения, например, NaN) значение с плавающей запятой или двойное в виде десятичной строки, такой, чтопреобразование этой строки обратно в число с плавающей запятой / double всегда будет давать именно исходное число?
Если нет, какой алгоритм подскажет, будет ли данное число испытывать ошибку преобразования?
Если это так, рассмотримэто: некоторые десятичные дроби при преобразовании в двоичные числа не будут численно совпадать с исходными десятичными значениями, но обратное неверно (поскольку двоичный файл имеет ограниченную точность, поэтому любое десятичное разложение является конечным и совершенным, если не усечено), поэтомувот еще один вопрос ...
Всегда ли необходимо вносить преднамеренные ошибки в десятичное представление, чтобы обмануть функцию atof
(или другую), чтобы получить точное исходное число, или будет наивным, не-truncating toString
функция будет адекватной (при условии точного преобразованиявообще возможно)?