人到中年有点甜
另一种选择是使用位字段:struct bits {
unsigned int a:1;
unsigned int b:1;
unsigned int c:1;};struct bits mybits;定义一个3位字段(实际上,它是三个1位字符)。位操作现在变得有点(哈哈)更简单:设置或清除一下:mybits.b = 1;mybits.c = 0;要切换一下:mybits.a = !mybits.a;mybits.b = ~mybits.b;mybits.c ^= 1; /* all work */检查一下:if (mybits.c) //if mybits.c is non zero the next line below will execute这仅适用于固定大小的位字段。否则你必须采用之前帖子中描述的比特技巧。