c - 我应该如何转换 14 位位域的字节序?

标签 c endianness bit-fields

如果我知道我使用的是小端机器,我如何转换 14 位位域的字节顺序?

struct {
    unsigned foo : 14, bar 2;
} baz;

我有预感 baz.foo = htons(baz.foo) 将无法正常工作。

最佳答案

将其与 uint16_t 结合在一起并进行交换。

关于c - 我应该如何转换 14 位位域的字节序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15855624/

相关文章:

c - c中的结构默认值

位域有用的情况?

c++ - 在结构和模板中试验 union 和位域

汇编语言 ASCII 字符串排序

assembly - 读取奇数地址,半个字?

c - 如何在 C 中读取 5 个字节到有意义的 uint64_t?

c - C 中内存地址的总体结构

c - 为什么作者在这个链表插入操作中要使用双指针呢?

c - 在嵌入式设备上绑定(bind)不同的技术

c - str[i - 1] == ' ' 是什么意思?