在C++中,将int拆分为多数位的正确术语是什么

Ano*_*non 2 c++ struct

我在一些C++代码中看到的东西如下:

// Header
struct SomeStruct {
    uint32_t nibble1:4, bitField1:1, bitField2:1, bitField3:1, bitField4:1,
             padding:11, field5Bits:5, byteField:8;
};
Run Code Online (Sandbox Code Playgroud)

这个叫什么?在问这里之前我通常喜欢谷歌,但我不知道甚至输入什么.我希望在字节顺序时能理解这一点 - 是要考虑的位顺序还是字节顺序?另外,每个字段的类型是什么 - bitFieldX应该是bool,而field5Bits应该是uint8_t.至少这就是我的想法.

谢谢.

Sku*_*del 6

  1. 它们被称为位域(MSVC)(GCC)
  2. Endianess通常指的是字节顺序.但是位顺序可能很重要,请参阅上面的链接.
  3. 它们在您的情况下表现为unsigned int(uint32_t).