如果我有 16 位代表 3 对值,每对 5 位长,另外一个 1 位值,完全按照这个顺序,使用位域来描述它是否安全?ANSI C是否保证位将完全按照我指定的顺序?
struct {
unsigned v1 : 5;
unsigned v2 : 5;
unsigned v3 : 5;
unsigned v4 : 1;
} test;
如果没有,是否有任何其他数据结构可以用来表示这一点?还是我应该只存储两个 8 位char
并以编程方式对其进行操作以确保可移植性?