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

qingqingcao22009 2012-11-22 10:37:21
这个题怎么做?
看了很多,可就是没看明白。
怎么表示一个64位的十进制整数?
具体怎么实现找到转换后的二进制中1的个数?
...全文
427 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingqingcao22009 2012-11-22
  • 打赏
  • 举报
回复
引用 4 楼 zqfddqr 的回复:
反复除2取余数
没错,是这样。还有一点这个64位的数怎么表示?BigInteger和BigDecimal分别可以表示多少位?
zqfddqr 2012-11-22
  • 打赏
  • 举报
回复
反复除2取余数
nmyangym 2012-11-22
  • 打赏
  • 举报
回复
试试这个.

		long num=10000000L;
		int total=Long.bitCount(num);
qingqingcao22009 2012-11-22
  • 打赏
  • 举报
回复
我想用自己写算法来实现。如果要用别人的,java中有将十进制转二进制的方法,然后再查找二进制中1的个数,确实可以。 想了解一下实现原理,
MiceRice 2012-11-22
  • 打赏
  • 举报
回复
偷懒就用 BigInteger toString(2) 就可以得到完整二进制
MiceRice 2012-11-22
  • 打赏
  • 举报
回复
BigInteger 理论上可以表示无穷位。 其实我理解所谓64位的数,也许不是指 十进制有64个数字; 估计是表示 64位二进制数,那么long就是64位的,当然符号位会浪费 1位,剩63位。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧