一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java數據結構及算法實例:快速計算二進制數中1的個數(Fast Bit Counting)

Java數據結構及算法實例:快速計算二進制數中1的個數(Fast Bit Counting)

2019-12-23 15:30junjie JAVA教程

這篇文章主要介紹了Java數據結構及算法實例:快速計算二進制數中1的個數(Fast Bit Counting),本文直接給出實現代碼,代碼中包含詳細注釋,需要的朋友可以參考下

?
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;  
 }
}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天堂在线观看中文字幕 | 办公室操秘书 | 亚洲欧美色综合图小说 | 亚洲成年男人的天堂网 | 免费观看日本视频 | 韩国免费特一级毛片 | 女人把扒开给男人爽 | 无码精品一区二区三区免费视频 | 久久这里只精品国产99re66 | 丝瓜香蕉视频 | 亚洲一区二区三区不卡在线播放 | 欧美综合亚洲图片综合区 | 皇上撞着太子妃的秘密小说 | 欧美成人免费tv在线播放 | 欧美日韩亚洲综合在线一区二区 | 国产高清日韩 | 日本道三区播放区 | 视频在线观看一区二区 | 精品日产1区2卡三卡麻豆 | www四虎影视 | 成人福利网站含羞草 | 国产日韩高清一区二区三区 | 嫩模被黑人粗大挺进 | 天天爱综合网 | 成人伊人青草久久综合网破解版 | 日本中文字幕在线视频站 | 国产一久久香蕉国产线看观看 | 日韩高清在线高清免费 | 久久天天躁狠狠躁夜夜躁 | 国产人妖ts在线视频网 | 国产一区二区在线观看视频 | 免费在线观看伦理片 | 国产精品理论片 | 热久久最新网址 | 亚洲国产成人精品无码区5566 | 日韩精品成人在线 | 无套日出白浆在线播放 | 久久九九精品国产自在现线拍 | 亚洲国产在线视频精品 | 国产精品www夜色影视 | 日产精品一卡2卡三卡4乱码久久 |