读书人

请教一个语句怎么理解

发布时间: 2012-02-24 16:30:39 作者: rapoo

请问一个语句如何理解

//....
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上。

读书人网 >C++

热点推荐