És itt még nincs is endianness... Clang nem támogatja, de GCC-ben a struct definiciójánál megadható attribútumként hogy big vagy little endian legyen a layout, az is tartogatna izgalmakat. Szerintem sem érdemes túlzásba esni bitfieldekkel, de ha mégis, akkor legalább minden legyen unsigned: így egyben debugolni signed koverziókat és overflowokat/csonkolásokat iszonyú nagy szívás.