У меня есть двоичный формат файла с кучей заголовков и данных с плавающей запятой, стоит отметить, что этот формат файла использует обратный порядок байтов. Структура выглядит следующим образом:
Header [240 byte]
Data [x byte]
Header [240 byte]
Data [x byte]
и так далее...
Разбор заголовков работает нормально, я получаю правильный вывод для каждого файла. Проблема с «данными». В документации говорится, что они находятся в 4-байтовых числах IBM с плавающей запятой. Насколько я знаю, структура C++ float
использует стандарт IEEE, поэтому, вероятно, моя проблема заключается в преобразовании.
Я должен найти способ преобразовать число с плавающей запятой IBM в число с плавающей запятой IEEE.
Вопрос: Возможно ли? Как/с чего мне начать, если у меня очень плохое знание этих базовых структур?
As far as I know the C++ float structure uses the IEEE standard
это неправильно. Стандарт C++ не требует использования IEEE-754. Он просто определяет необходимые пределы. Указывает ли стандарт C++ что-либо на представление чисел с плавающей запятой?, Гарантированно ли IEEE float и double имеют одинаковый размер в любой ОС?, Do любые реальные процессоры, не использующие IEEE 754? - person phuclv   schedule 18.02.2019