100题_22 整数的二进制表示中1的个数
生活随笔
收集整理的這篇文章主要介紹了
100题_22 整数的二进制表示中1的个数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
輸入一個(gè)整數(shù),求該整數(shù)的二進(jìn)制表達(dá)中有多少個(gè)1。例如輸入10,由于其二進(jìn)制表示為1010,有兩個(gè)1,因此輸出2。
?
這個(gè)題非常簡單,考的是位運(yùn)算,我們每次向左移1位,判斷最后一位是不是1就可以了。不多說了,代碼如下:
#include <stdio.h>int count_one(int x)
{
int count = 0;
while (x != 0)
{
if (x&1 == 1)
count ++;
x = x>>1;
}
return count;
}
int main()
{
printf("%d ", count_one(3));
return 0;
}
轉(zhuǎn)載于:https://www.cnblogs.com/youwang/archive/2011/03/13/2310738.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的100题_22 整数的二进制表示中1的个数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3210
- 下一篇: 算法导论6.1-2习题解答