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

找到64位整数的二进制中1的个数

2012-12-16 
找出64位整数的二进制中1的个数这个题怎么做?看了很多,可就是没看明白。怎么表示一个64位的十进制整数?具体

找出64位整数的二进制中1的个数
这个题怎么做?
看了很多,可就是没看明白。
怎么表示一个64位的十进制整数?
具体怎么实现找到转换后的二进制中1的个数?
[最优解释]
BigInteger 理论上可以表示无穷位。

其实我理解所谓64位的数,也许不是指 十进制有64个数字;
估计是表示 64位二进制数,那么long就是64位的,当然符号位会浪费 1位,剩63位。
[其他解释]
偷懒就用 BigInteger

toString(2) 就可以得到完整二进制
[其他解释]
反复除2取余数
[其他解释]
我想用自己写算法来实现。如果要用别人的,java中有将十进制转二进制的方法,然后再查找二进制中1的个数,确实可以。
想了解一下实现原理,
[其他解释]
试试这个.


long num=10000000L;
int total=Long.bitCount(num);

[其他解释]
引用:
反复除2取余数
没错,是这样。还有一点这个64位的数怎么表示?BigInteger和BigDecimal分别可以表示多少位?

热点排行