2012-12-24 47 views
2

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

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

谢谢。

+0

种类相关。 http://stackoverflow.com/questions/5655283/why-are-dword-values-commonly-represented-in-hexadecimal – iKlsR

+1

你是认真的吗?除了32还有其他答案吗? –

回答

1

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

2

一个字具有16位,以便一个DWORD(双字)具有32

因此,如果使用单个比特对每个标志,一个DWORD可以容纳32个标志。

1

一个整数数据类型可以支持与有位数一样多的标志。根据MSDN documentation,DWORD是32位数据类型。

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

3

这个问题被标记为C++,所以只需使用std :: bitset < 16>如果你想存储16个标志。

如果你想确定整数的大小,请使用cstdint并键入linke uint16_t,uint64_t ...它会更清晰。

+2

“DWORD”没有歧义。它是32位。 –

+0

不是编译器,但会有一些未受过训练的开发人员,因为我是:) –

+4

尽管我完全同意使用'std :: bitset <>'的建议。在整数上比可怕的C风格按位运算好得多。 –

相关问题