二进制中1的个数:

二进制中1的个数

http://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b040ea7fbb10b8

问题分析:
1、首先,我们需要把这个整数转换成二进制的数,在Java中都有相应的转换函数我们可以直接调用,Java中进制的转换函数如下:
十进制转换成二进制:(原理)对十进制数进行除 2 运算取余。(函数)Integer.toBinaryString(n);
十进制转换成八进制:(原理)对十进制数进行除8运算取余。(函数)Integer.toOctalString(n);
十进制转换成十六进制:(原理)对十进制数进行除 16运算取余。(函数)Integer.toHexString(n)。

2、转换完之后,我们二进制遍历一遍,当字符为'1'时,计数器的个数加1。
3、代码实现如下:
图片说明

全部评论
不需要遍历,用a与上(a-1)递归就好了
点赞 回复 分享
发布于 2020-01-26 14:50

相关推荐

05-03 12:45
西南大学 Java
nsnzkv:你这项目写的内容太多了,说实话都是在给自己挖坑,就算简历过了,后面面试也难受
点赞 评论 收藏
分享
高斯林的信徒:问你有没有保底,好人啊,就差把这是kpi面告诉你了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务