位域如何与字符类型一起使用?

2022-01-12 00:00:00 c char bit-manipulation c++
   struct stats
   {
       char top         : 1; 
       char bottom      : 1;
       char side        : 2;
   } MyStat;  

我见过这种带有整数的格式,但是上面的 char 位字段是如何工作的,它代表什么?

I have seen this format with integers but how does the above char bit field work and what does it represent?

谢谢.

推荐答案

char 位域的工作方式与 int 相同,只是基类型是 8 位宽,而不是 32 位.所以你会得到一个struct stats,它有1个字节的大小,3个成员变量,总共占用4位.

Char bit fields work in the same way as int, just the base type is 8-bit wide, not 32-bit. So you'd get a struct stats, which has the size of 1 byte, and 3 member variables, occupying a total of 4 bits.

相关文章