首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教一个语句怎么理解

2012-02-24 
请问一个语句如何理解 //....for(i0i8i++){num+(a i)&0x01//如何理解?}//.... [解决办法]将a 右移

请问一个语句如何理解

//....
for   (i   =   0;   i   <   8;   i++)

    {

        num   +=   (a   > >   i)   &0x01;//如何理解?

    }
//....


[解决办法]
将a 右移,然后与0x01位与 ,把结果(只有0,1两种结果)加到num
这样 就算出了a,的低位字节上有多少1(二进制)了
[解决办法]
int n = (a > > i); //右移i位
n &= 0x01; //n是否为奇数
num += n;
[解决办法]
a右移i位后所得的结果,只取其后一位加到num上。

热点排行