二進制中1的個數的18種解法

我們知道在java語言中一個int類型有32個0或1組成。我們要計算有多少個1,這裡主要以int型數據為例來分析。比如15在二進制中表示的是1111,有4個1,所以返回4。再比如16在二進制中表示的是10000,隻有一個1,所以返回1。這題解法比較多,我們將會逐個分析。

一,通過移動數字計算首先想到的是把要求的數字不停的往右移,然後再和1進行與運算,我們就以13為例畫個圖來分析下

看明白瞭上面的分析,代碼就很容易多瞭,我們來看下代碼

public int bitCount(int n) {
int count = 0;
for (int i = 0; i < 32; i++) {
if (((n >>> i) & 1) == 1) {
count++;
}
}
return count;
}

发表回复

相关推荐

心理效应:巴纳姆效应——潜藏在人性中的木马程序

说服一个人,方法有很多,但最快最有效了,有且只有一种,那就是利用「巴纳姆效应」。

· 3分钟前

罕见国企硕鼠,边贪三亿,边举报他人,被查吓哭:请求组织原谅

今天讲一个身居高位的国企总经理,享受副厅级待遇,却因为两大爱好,最后落了个被判死刑的可悲结果。说起他的这两个爱好,真 ...

· 19分钟前

【2023年双11更新】汽车贴膜选购攻略,哪些太阳膜值得买?最值得推荐的汽车贴膜!

我平时喜欢研究汽车用品,备胎已经被我扔到了床底下,我是 @广哥聊汽车,欢迎关注我,有问题欢迎留言讨论。

· 19分钟前

膽礬的化學式及知識點介紹

膽礬又稱五水合硫酸銅,膽礬的化學式,膽礬的功效和作用又是什麼瞭?下面來一起瞭解一下膽礬吧。1、膽礬的化學式化學式:CuSO4...

· 21分钟前

11人拯救整個世界 二戰著名特種作戰行動 重水之戰

11人拯救整個世界 二戰重水之戰http://www.icpchaxun.com/video/1049796177821855744這期我們來給大傢講述,戰地V 北極之光 ...

· 21分钟前

Copyright 2015-2025 www.icpchaxun.com ©All Rights Reserved.