剑指offer07--统计二进制数中1的个数
来源:互联网 发布:mac 启动空间已满 编辑:程序博客网 时间:2024/05/17 21:44
题目:输入一个普通的整形数字,将整形数据转换成二进制数,并返回二进制数字中1的个数,比如输入9,那么二进制是1001,返回2
下面使用的是两种方式来实现的,第一种的效率比较低,第二种的效率比较高
package 剑指offer;/*题目:实现一个函数,输入整数,将整数转化成二进制数 *然后求出此二进制数中1的个数,并返回,比如说是9,二进制1001 *其返回的就是2*/public class Test10 {public static void main(String args[]){System.out.println("9的结果是:"+BinaryNamber1(9));System.out.println("9的结果是:"+BinaryNamber2(9));}public static int BinaryNamber1(int num){//这是一种比较常规的方法,每个int型是由4字节32位组成的int result = 0;for(int i = 0; i < 32; i++){if((num&1) != 0)result++;num = num >>> 1;}return result;}public static int BinaryNamber2(int num){//这是一种效率比较高的方式,每次使用减一的方式来消除后边最右边的一个一int result = 0;while(num != 0){result++;num = num&(num - 1);}return result;}}
越努力,越自信
1 0
- 剑指offer07--统计二进制数中1的个数
- 统计二进制数中1的个数
- 统计二进制数中1 的个数
- 统计二进制数中1的个数
- 统计二进制数中1的个数
- 统计二进制数中“1”的个数(懂二进制)
- 统计数x的二进制表示中1的个数
- 统计一个数的二进制表示中1的个数
- 统计一个二进制数中1的个数
- 统计一个数二进制表示中1的个数
- 【C语言】统计一个数二进制中1的个数
- Java统计二进制数中1的个数
- 统计二进制数中存在1的个数
- 统计一个数二进制形式中1的个数
- (3)统计二进制数中1的个数
- 巧妙统计二进制数中1的个数
- 统计二进制数1的个数
- 统计二进制数中的1的个数
- Android 5.0 StatusBar全透明
- [转载]前端工程系列文章之——基础篇
- Windows-----Android--Studio-----使用Git首次提交代码
- Python核心编程
- android面试经典片段
- 剑指offer07--统计二进制数中1的个数
- java多线程监听JMS、MQ队列
- Spark Streaming Logging Configuration
- FineUploader 结合 一般处理程序 【上传示例】
- OleInitialize、CoInitialize、CoInitializeEx和AfxOleInit()区别
- python 的一些小知识
- ios获取手机型号、系统版本、设备唯一标识符、手机运营商等
- linux vi 查找内容
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版新增查询引擎管理