您的位置:首页 > 其它

对于一个字节(8bit)的变量,求其二进制表示中"1"的个数,要求算法的执行效率尽可能地高。

2015-02-03 11:22 363 查看
public class BinaryTest {

public static void main(String[] args) {

System.out.println(countNum(10));

System.out.println(countNum2(10));

System.out.println(countNum3(10));

}

private static int countNum(int v){

int num = 0;

while(v != 0){

if(v % 2 == 1)

num++;

v = v / 2;

}

return num;

}

private static int countNum2(int v) {

int num = 0;

while(v != 0){

num += v & 1;

v >>=1;

}

return num;

}

private static int countNum3(int v) {

int num = 0;

while(v != 0){

v &= (v-1);

num++;

}

return num;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐