輸入一個整數,輸出該數二進制表示中1的個數。其中負數用補碼表示。


public class Solution {
    public int NumberOf1(int n) {
			int index = 1;
		int number = 0;
		
		while(index!=0){
			if((n & index)!=0)
				number++;
			index = index << 1;
		}
		return number;
    }
}

  先上第一種

兩種方法。第一種,是用位運算,將1每次左移,和數字進行&運算,如果成功,則返回1.

       第二種,將整數通過方法轉換為二進制數,然后統計其中1的數量

第二種

	int number = 0;
		String string = Integer.toBinaryString(n);
		char[] chars = string.toCharArray();
		int i = 0;
		for( ; i < string.length() ; i++){
			if(chars[i]=='1')
				number++;
		}
		
		return number++;

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM