1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
/** * 快速计算二进制数中1的个数(Fast Bit Counting) * 该算法的思想如下: * 每次将该数与该数减一后的数值相与,从而将最右边的一位1消掉 * 直到该数为0 * 中间循环的次数即为其中1的个数 * 例如给定"10100“,减一后为”10011",相与为"10000",这样就消掉最右边的1 * Sparse Ones and Dense Ones were first described by Peter Wegner in * “A Technique for Counting Ones in a Binary Computer“, * Communications of the ACM, Volume 3 (1960) Number 5, page 322 */ package al; public class CountOnes { public static void main(String[] args) { int i = 7 ; CountOnes count = new CountOnes(); System.out.println( "There are " + count.getCount(i) + " ones in i" ); } /** * @author * @param i 待测数字 * @return 二进制表示中1的个数 */ public int getCount( int i) { int n; for (n= 0 ; i > 0 ; n++) { i &= (i - 1 ); } return n; } } |
Java数据结构及算法实例:快速计算二进制数中1的个数(Fast Bit Counting)
2019-12-23 15:30junjie JAVA教程
这篇文章主要介绍了Java数据结构及算法实例:快速计算二进制数中1的个数(Fast Bit Counting),本文直接给出实现代码,代码中包含详细注释,需要的朋友可以参考下
延伸 · 阅读
- 2019-12-23Java数据结构及算法实例:考拉兹猜想 Collatz Con
- 2019-12-23Java数据结构及算法实例:三角数字
- 2019-12-23Java数据结构及算法实例:冒泡排序 Bubble Sort
- 2019-12-23Java数据结构及算法实例:朴素字符匹配 Brute Fo
- 2019-12-23java自定义拦截器用法实例
- 2019-12-23JAVA获得域名IP地址的方法
- JAVA教程
java截取图片示例
这篇文章主要介绍了java截取图片示例,把代码中的图片路径改成自己的图片,运行就可以看到效果了,需要的朋友可以参考下 ...
- JAVA教程
java协变返回类型使用示例
在面向对象程序设计中,协变返回类型指的是子类中的成员函数的返回值类型不必严格等同于父类中被重写的成员函数的返回值类型,而可以是更"狭窄"的...
- JAVA教程
Java实现文件批量重命名具体实例
这篇文章主要介绍了Java实现文件批量重命名具体实例,需要的朋友可以参考下 ...
- JAVA教程
MAC 系统如何使用 Sublime Text 2 直接编译运行 java 代码
这篇文章主要介绍了MAC 系统如何使用 Sublime Text 2 直接编译运行 java 代码,需要的朋友可以参考下 ...
- JAVA教程
教你使用java实现去除各种空格
本文给大家汇总介绍了5种java中去除空格的方法,分别是String.trim()、str.replace(" ", "");、replaceAll(" +","");以及自定义的remove函数,非常的简单实用,需要的小...
- JAVA教程
浅析final,finally,finalize 的区别
以下是对final,finally,finalize的区别进行了详细的分析介绍,需要的朋友可以过来参考下 ...
- JAVA教程
一篇文章总结Java虚拟机内存区域模型
这篇文章主要介绍了一篇文章总结Java虚拟机内存区域模型,本篇文章主要来总结一下Java虚拟机内存的各个区域,以及这些区域的作用、服务对象以及其中可...
- JAVA教程
关于各种排列组合java算法实现方法
这篇文章介绍了几种用JAVA实现的排列组合算法,有需要的朋友可以参考一下...