Java 一个整数的二进制位有多少个1,哪些位是1
2012-06-12 15:25
260 查看
int x = 122;
int count = 0;
while(x != 0)
{
int z = x;
x = x & ( x - 1 );
//此为1的索引
z = Integer.toBinaryString(z-x).length()-1;
//count为有多少位1
count++;
}当然还有另外的办法求得1的索引 Math.log(z-x) / Math.log(2.0)
int count = 0;
while(x != 0)
{
int z = x;
x = x & ( x - 1 );
//此为1的索引
z = Integer.toBinaryString(z-x).length()-1;
//count为有多少位1
count++;
}当然还有另外的办法求得1的索引 Math.log(z-x) / Math.log(2.0)
相关文章推荐
- java 程序题 递归算法 判断一个整数化成二进制之后有多少个1 (两种思路)
- Java算法总结:输入一个整数,求该整数的二进制表示中有多少个1
- 判断一个整数的二进制位中有多少个1
- [Java] 练习题013: 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
- [Java] 练习题013: 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
- 答复:“判断一个整数的二进制位中有多少个1”的提问
- java经典算法_012一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少?
- 初学java:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
- 实训JAVA语言设计——产生一个2-K之间的随机整数,判断一个数是否是素数
- Java基础问题---计算一个整数的百位上的数,源代码
- 度度熊有一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数x,y来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。
- 求一个整数的二进制形式会有多少个1
- Java求一个整数的二进制中1的个数
- 一个Java Core Grid Service包括哪些文件?
- 一个标准的JavaBean具备哪些特点
- java实现求一个数组中有多少个子序列
- java题: 设有n个正整数,将它们联接成一排,组成一个最大的多位整数。例如:N=3时,3个整数13、312、343联成的最大整数为:34331213;
- [java面试]逻辑推理6 10 18 32 下一个数?编程实现输入任意一个N位置,该数是多少?java实现
- 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
- java 判断一个数是否是2的整数次幂