function bitTotal(num) {
modes = 0;
for (i = 0; i < 4; i++) {
if (num & 1)
modes++;
num >>>= 1;
}
return modes;
}
modes = 0;
for (i = 0; i < 4; i++) {
if (num & 1)
modes++;
num >>>= 1;
}
return modes;
}
调试欢乐多
而运算符&(与)是只有在对应位同时为1的时候为1,否则为0.
num >>>= 1;
num = num>>>1
modes = 0;
for (i = 0; i < 4; i++) {
if (num & 1)
modes++;
num >>>= 1;
}
return modes;
}
假设传入数字55&1做的是与运算 得到的结果是1 强转为BOOLEAN为true 因此modes+1
5>>>1的话 得到的结果是10 右移运算使101 => 10