【劍指offer中等部分4】二進位制中1的個數(java)
題目描述
輸入一個整數,輸出該數32位二進位制表示中1的個數。其中負數用補碼錶示。
分析
首先大家如果對原碼、反碼、補碼概念模糊,可以去百度回顧回顧。
該題的意思就是先將輸入進的整數變成二進位制數,然後統計其二進位制數中1的個數,我們可以將二進位制數逐位與1進行與操作,如果與後為1,則是1,那麼個數就+1。這裡十進位制做與操作時會自動轉化成二進位制。
程式碼如下:
public class Solution {
public int NumberOf1(int n) {
int count = 0;
while(n != 0){
if((n & 1 ) == 1){
count++;
}
n = n >>> 1;
}
return count;
}
}
相關文章
- 【劍指offer】二進位制中1的個數
- 劍指 Offer 15. 二進位制中1的個數
- 二進位制中1的個數
- offer通過--10二進位制中統計1的個數-2
- 1. 二位陣列中的查詢(劍指offer)陣列
- JZ-011-二進位制中 1 的個數
- 【刷演算法】二進位制中1的個數演算法
- 【劍指offer】【1】二維陣列中的查詢陣列
- 劍指offer計劃9(動態規劃中等版)---java動態規劃Java
- 【劍指 Offer 】17. 列印從1到最大的n位數
- 劍指offer | 17. 列印從1到最大的n位數
- 劍指 Offer 列印從1到最大n位數c++C++
- 劍指offer計劃5(查詢演算法中等版)---java演算法Java
- 劍指 Offer 44. 數字序列中某一位的數字
- 劍指offer計劃20( 搜尋與回溯演算法中等)---java演算法Java
- 劍指Offer-31-最小的K個數
- 二進位制求5個1的格式。。。。
- 三種語言實現計算二進位制中1的個數(C++/Python/Java)C++PythonJava
- LeetCode C++ 劍指 Offer 64. 求1+2+…+n【Bit Manipulation】中等LeetCodeC++
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 【劍指offer】二維陣列中的查詢陣列
- 劍指Offer-把陣列中的數排成一個最小的數陣列
- Leetcode 劍指 Offer 40. 最小的k個數LeetCode
- 劍指 Offer 53 - II. 0~n-1中缺失的數字(二分法)1
- 劍指Offer-17-列印從1到最大的n位數-Java程式碼實現(兩種思路)Java
- 劍指Offer積累-JZ1-二維陣列中的查詢陣列
- 劍指Offer 表示數值的字串字串
- 劍指 offer(1) -- 陣列篇陣列
- 劍指offer刷題之路--1.陣列中重複的數字陣列
- 02_Python學習筆記之統計整數二進位制中1的個數Python筆記
- 劍指offer(java實現)第4題“重建二叉樹”-牛客網Java二叉樹
- 根據數字二進位制下 1 的數目排序排序
- JAVA 二進位制,八進位制,十六進位制,十進位制間進行相互轉換Java
- 劍指offer——連結串列中倒數第k個結點
- 1417 二進位制數的大小
- 劍指Offer--陣列中重複的數字陣列
- 劍指OFFER
- 劍指offer——重建二叉樹二叉樹