1计算一个字节里有多少个bit被置1,多少位被置换为0:
int chek_byte_1(char x)
{
int i,count_1=0;
for(i=0;i<8;i++)
{
if(((x>>i)&1)==1)
count_1++;
}
return count_1;
}
int chek_byte_0(char x)
{
int i,count_0=0;
for(i=0;i<8;i++)
{
if(((x>>i)&1)==0)
count_0++;
}
return count_0;
}
*if( ( (x>>i) &1)==1) 这里我们需要判断优先级的时候最好是多加个括号,这样谁都看得懂了,其实&有2个意思,一个是取地址,一个是位运算,这里是取地址是比==低的&