2

对使用标志有点新,对 C++ 也不是最好的。我只是想知道,一个 DWORD 可以容纳多少个标志?我假设它是 32,因为 32 位?如果没有,它至少可以容纳 16 个标志,因为我至少需要这个。

我可以找到如何使用标志,那里没问题,但是在网络上找不到任何地方说明不同类型的数据类型可以保存的值,我再次假设它只是它们拥有的位数,但我找不到足够的信息来澄清这一点。

谢谢你。

4

4 回答 4

3

问题标记为 C++,因此如果要存储 16 个标志,只需使用 std::bitset<16> 即可。

如果您想确定整数的位大小,请使用 cstdint 和类型 linke uint16_t, uint64_t... 会更清楚。

于 2012-12-24T15:53:44.930 回答
2

一个 WORD 有 16 位,所以一个 DWORD(双字)有 32 位。

因此,如果您为每个标志使用一个位,则一个 DWORD 可以容纳 32 个标志。

于 2012-12-24T15:52:32.740 回答
1

整数数据类型可以支持与位一样多的标志。根据MSDN 文档DWORD是 32 位数据类型。

DWORD一个 32 位无符号整数。范围是 0 到 4294967295(十进制)。

于 2012-12-24T15:53:41.947 回答
1

DWORD 有多少位?一个标志和一个位通常是同一个东西。但有时,当使用位域时,我们可以使用多个位,在这种情况下,您当然不能容纳尽可能多的域。

于 2012-12-24T15:46:11.970 回答