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實現的排列組合算法,有需要的朋友可以參考一下...