求教一个结构位域的问题
请问有这样一个结构定义typedef struct
{
int spart:10;
int i:1;
int j:1;
int k:1;
int Reserved :3;
}CODE;
int num;
CODE *pCode = (CODE*)&(INT_NUM);
我想得到i,j,k中为1的个数(如,i,j,k都为1,num应该等于3)
,可不可以用下面的方法实现。谢谢!
for(i=0;i<3;i++)
if((INT_NUM >>(10+i)) & 0x01)
{
num++;//i,j,k为1的个数
}