У меня есть рабочее программное обеспечение, которое в настоящее время работает в архитектуре little-endian
. Я хотел бы запустить его в режиме big-endian
. Я хотел бы написать little-endian
данные в файлы, независимо от того, является ли эта система базовой.
Чтобы достичь этого, я решил использовать библиотеку boost endian. Он может эффективно конвертировать целые числа. Но он не может обрабатывать поплавки (и удваивает).
Он указывает в documentation, что "типы плавающей точки будут поддерживаться в Boost 1.59.0". Но они все еще не поддерживаются в 1.62
.
Я могу предположить, что поплавки действительны IEEE 754
поплавки (или удваиваются). Но их сущность может варьироваться в зависимости от базовой системы. Насколько мне известно, использование функций htonl
и ntohl
в поплавках не рекомендуется. Как это возможно? Есть ли какая-либо библиотека только для заголовка, которая также может обрабатывать поплавки? Я не смог найти.
Я мог бы преобразовать поплавки в строку и записать это в файл, я бы хотел избежать этого метода по многим причинам (производительность, дисковое пространство,...)