Найчастіше, напевно, але не робіть ставку на ферму, бо якщо ви помиляєтесь, ви програєте великі.
Якщо вам дійсно, дійсно потрібно мати однакову двійкову інформацію, вам потрібно буде створити бітові поля з бітовими масками - наприклад, ви використовуєте непідписаний шорт (16 біт) для Message, а потім зробите такі речі, як versionMask = 0xE000, щоб представити три найвищі біти.
Існує подібна проблема з вирівнюванням у структурах. Наприклад, процесори Sparc, PowerPC та 680x0 є великими, і загальним типовим для компіляторів Sparc та PowerPC є вирівнювання членів структури на 4-байтових межах. Однак один компілятор, який я використовував для 680x0, вирівнювався лише за двобайтовими межами - і не було можливості змінити вирівнювання!
Отже, для деяких структур розміри на Sparc та PowerPC однакові, але менші на 680x0, а деякі члени знаходяться в різних зміщеннях пам'яті в структурі.
Це була проблема з одним проектом, над яким я працював, оскільки серверний процес, що працює на Sparc, запитав би клієнта і виявив, що він є big-endian, і припустив, що він може просто розбризкувати двійкові структури в мережі, і клієнт міг би впоратися. І це добре працювало на клієнтах PowerPC, і в більшій мірі зазнало збою на клієнтах 680x0. Я не написав код, і знадобилося досить багато часу, щоб знайти проблему. Але це було легко виправити, коли я це зробив.