Есть такая структура: PHP: // TS packet: 188 bytes, 4 bytes header, 184 bytes payload struct video_head { uint32_t startcode:32; uint32_t hSize:13; uint32_t vSize:13; ... }; Проблема в том, что там обратный порядок битов. т.е. я не могу просто взять и вывести: PHP: video_head *pTest = buff; printf( "Test: %d\n", pTest->hSize ); Приходится использовать: PHP: unsigned short hSize = (buff[i+2] << 8 | buff[i+3]) & 0x1fff; Вопрос в том, как поменять порядок битов для vSize, чтобы тоже был верный результат.
Вот и используй преобразование. Задать для структуры какой-то "особый" порядок битов нельзя. Даже если какие-то компиляторы это позволяют, то эти возможности не стандартизированы и не будут работать в других компиляторах.