首頁 > 後端開發 > C++ > C/C++程式:計算一個整數中設定的位數?

C/C++程式:計算一個整數中設定的位數?

王林
發布: 2023-08-26 18:57:12
轉載
1285 人瀏覽過

C/C++程式:計算一個整數中設定的位數?

對設定的位元進行計數意味著對給定整數進行 1 的計數。為此,我們有多種可以應用的解決方案。對於這種情況,我們有一個二進制數(整數的二進位表示),為此我們必須計算字串中 1 的數量。

要計算 1 的數量,我們將取得字串,遍歷每個元素並統計字串中所有1的個數。例如,如果我們輸入 17,則輸出將為 2,因為 17 的二進位為 10001,其中包含兩個 1。

Input: Enter a positive integer: 6
Output: 2
登入後複製

說明

6 的二進位表示形式是 110,它有 2 個設定位元

這種迭代方法需要每位迭代一次。它貫穿數字的所有位。當不再設定任何位元時,迭代終止。在最壞的情況下,對於僅設定最高有效位元的 32 位元字,它將循環 32 次迭代。此解決方案是最簡單的解決方案,如果 1 稀疏且位於最低有效位元中,則該解決方案很有用。

範例

#include <stdio.h>
int main(void) {
   unsigned int n = 34;
   for (c = 0; n; n >>= 1) {
      c += n & 1;
   }
   printf("%d\n", c);
}
登入後複製
#

以上是C/C++程式:計算一個整數中設定的位數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板