劍指offer JZ11二進制中1的個數(shù)

題目描述

輸入一個整數(shù),輸出該數(shù)32位二進制表示中1的個數(shù)。其中負數(shù)用補碼表示。

思路:

首先將整數(shù)n使用Integer.toBinaryString()函數(shù)轉(zhuǎn)換為二進制字符串,然后將這個字符串使用split()函數(shù)轉(zhuǎn)化那位數(shù)組,再遍歷整個數(shù)組計算其中·1的個數(shù)。

源代碼:

public class Solution

{

? ? public int NumberOf1(int n)

? ? {

? ? ? int count=0;

? ? ? String str= Integer.toBinaryString(n);

? ? ? String [] str1=str.split("");

? ? ? for(int i=0;i<str1.length;i++)

? ? ? {

? ? ? ? if(str1[i].equals("1"))

? ? ? ? {

? ? ? ? ? ? count++;

? ? ? ? }

? ? ? }

? ? ? ? return count;

? ? }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容