【发布时间】:2023-03-12 20:30:01
【问题描述】:
有谁知道如何提取位域成员的大小。下面的代码自然地给了我一个整数的大小,但是我如何找出mybits.one 中有多少位或字节?我已经尝试过sizeof(test.one),但这显然行不通。我意识到这是位的度量:
#include <iostream>
using namespace std;
int main()
{
struct mybits {
unsigned int one:15;
};
mybits test;
test.one = 455;
cout << test.one << endl;
cout << "The size of test.one is: " << sizeof(test) << endl;
}
【问题讨论】:
-
运行时解决方案:将整个结构的值设置为零,然后使用“~”反转字段,然后计算设置为“1”的位数。 social.msdn.microsoft.com/Forums/en-US/…
标签: c++ bits bit-fields