編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 『1』 的個數(也被稱為漢明重量)。
輸入:00000000000000000000000000001011
輸出:3
解釋:輸入的二進位制串 00000000000000000000000000001011 中,共有三位為 '1'。
思路,就是有多少個1唄,迴圈遍歷這32位數
方法一:對於n中數,每次給他左移,判斷最後一位是不是1即可,即和1相於既可以判斷
int hammingweight(uint32_t n)
n >>= 1;
}return sum;
}
方法二:利用n和n-1之間的關係,因為n最後一位位1的地方,對應的n-1的是0,n-1之後的數是1,而n是0,該位之前的數相同,
即每次n和n-1按位相與,n的最後乙個位1的位就會被置為0,不斷的給他按位相與,那麼最後n就是0,所以可以進行對1的個數進行計數
int hammingweight(uint32_t n)
return sum;
}
僅僅記錄所想的 191 位1的個數
題目描述 編寫乙個函式,輸入是乙個無符號整數 以二進位制串的形式 返回其二進位制表示式中數字位數為 1 的個數 也被稱為漢明重量 高階 示例 1 輸入 00000000000000000000000000001011 輸出 3 解釋 輸入的二進位制串 000000000000000000000000...
簡單 191 位1的個數
簡單 191.位1的個數 編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 1 的個數 也被稱為漢明重量 示例 1 輸入 00000000000000000000000000001011 輸出 3 解釋 輸入的二進位制串 00000000000000000000000000001...
Leetcode191 位1的個數
題目 編寫乙個函式,輸入是乙個無符號整數,返回其二進位制表示式中數字位數為 1 的個數 也被稱為漢明重量 輸入 11111111111111111111111111111101 輸出 31 解釋 輸入的二進位制串 11111111111111111111111111111101 中,共有 31 位為...