Я пытаюсь записать двоичное представление целого числа в файл, приняв, что получу шестнадцатеричный формат в файле, однако я не получаю ожидаемого результата.
uint32_t a = 1;
FILE * file = fopen("out.txt", "ab+");
fwrite(&a, sizeof(uint32_t), 1, file );
Я ожидаю получить (с прямым порядком байтов)
1000 0000
но вместо этого я попадаю в файл
0100 0000
Машина, на которой работает этот фрагмент кода, — Ubuntu linux 32 бит (с прямым порядком байтов). Есть ли кто-нибудь, кто мог бы объяснить, почему это так, соответствует ли содержимое файла целочисленному представлению на моей машине? Ваше здоровье.