Я хочу читать по 8 бит за раз из файла в формате с прямым порядком байтов, я думаю, что мой процессор тоже с прямым порядком байтов, поэтому мне не нужно беспокоиться о порядке байтов, верно?
я читаю цифры, значения интенсивности RGGB CFA из файла RAW12.
Вот мой код -
uint8_t first8bits, second8bits, third8bits;
file.read((char*)&first8bits, sizeof(uint8_t));
file.read((char*)&second8bits, sizeof(uint8_t));
file.read((char*)&third8bits, sizeof(uint8_t));
Red_channel = (first8bits) << 4 | (second8bits & 0xF0) >> 4;
Green_channel = (second8bits & 0x0F) | (third8bits);
Я видел, как другие читали это 8 битов в массив символов и затем преобразовывали его в число, как мне это сделать? Поскольку машина, на которой я тестирую код, имеет младший порядок байтов, я думаю, что мне не нужно делать байт-своп, но что, если кто-то другой тестирует этот код на машине с прямым порядком байтов, как мне найти во время выполнения, если машина имеет порядковый номер с прямым порядком байтов или с прямым порядком байтов
Любая помощь мне бы очень понравилась.