【发布时间】:2013-11-12 16:01:33
【问题描述】:
更具体的问题是:我可以在一个结构中添加多少位域条目?
例如:
struct SMyStruct
{
unsigned int m_data1 : 3;
unsigned int m_data2 : 1;
unsigned int m_data3 : 7;
// ...
unsigned long long m_datan : 42;
};
总位数可能超过 32 或 64(或任何系统架构)?
【问题讨论】:
-
位数取决于变量的类型。因此,如果 int 是 2 个字节长(记住 int 的大小取决于平台),最大值将是 int number:16
-
@hhachem:每个字节的位数也取决于实现。
-
@EricPostpischil 好点。字节中的位数也取决于平台,因此人们在提到 8 位时仍然使用术语“八位字节”;)
标签: c struct bit-fields