c - C中的按位结构编程

标签 c bit-fields

这是如何工作的?

struct {
    int a : 21;
    int b : 11;
};

a 和 b 是两个独立的 int 变量还是使用不同位域的同一个变量?

最佳答案

这是 struct 中的两个独立变量,一个名为 a,另一个名为 b。但是,它们的大小使得 a 应该有 21 位,b 应该有 11 位。访问一个变量并对其进行操作不会影响另一个变量。

希望这对您有所帮助!

关于c - C中的按位结构编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19829996/

相关文章:

c - long double的浮点错误

c - 将共享库重新链接到不同版本的 libc

C++位域成员变量初始化值(UE4示例)

swift - Swift 中的位域大于 64 次移位?

c - c中零长度位字段的不同类型?

字符指针 : Creating dynamic string array, 赋值并传递给其他函数和其他小家伙 - C

c - 为什么在下面的for循环中没有任何条件检查?

c - 如何根据oprofile报告优化程序?

c - 请澄清我对 C 中位域和 union 的理解

c - 使用位字段获取负值