Double
представляется в памяти с использованием 8 байтов.
Я считаю, что эти 8 байтов должны иметь два компонента, по одному для целой части и один для дробной части (поправьте меня, если я ошибаюсь в этом предположении).
Моя машина немного порядковая (в настоящее время каждый Macmini). Я хочу перенести эти 8 байтов, представляющих Double
, в файл, который должен быть читаем на платформе BigEndian (в частности, JVM, которая является BE).
Для простых целых чисел безопасно менять порядок байтов, поскольку они не содержат компонентов и являются атомарными.
Безопасно ли просто изменять порядок байтов для Double
, учитывая, что он имеет два компонента? Если это небезопасно, как мне представить данные LittleEndian в данных BidEndian?
Также мне нужно прочитать файл, содержащий данные BigEndian, и преобразовать его в Double
на моей машине LittleEndian. Точно обратный сценарий.