程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 求1的個數

求1的個數

編輯:C++入門知識

給定一個數字,求其對應的二進制的1的個數,比如:9,對應的二進制的個數是1001,則對應的1的個數為2個。

       面試復習,一個多月了,從看網易公開課《編程范式》,然後稍微翻翻了《premier c++》,接著看了嚴蔚敏的數據結構,說實話 ,不怎麼的,看到最後幾章,實在看不下去,就換《算法導論》了,寫了20篇關於數據結構和算法的博客,算是學習筆記吧。每天早上堅持看看csdn上的博客,學到不少東西。接下來打算看看《編程之美》,練練所學的知識,7月份左右看完吧,最後正式校招之前,再看看《面試寶典》。算是准備了一下吧。由於基礎很薄弱,還是很費勁的,繼續加油。

        言歸正傳,這道題好像《編程之美》和《面試寶典》上都有,著實是一道有趣的題目。

       比如數據x,只要不斷x&(x-1)知道x為0就可以了。

代碼:

 

#include<iostream>   
using namespace std;  
int func(int x)  
{  
  int count=0;  
  while(x)  
  {  
  count++;  
  x=x&(x-1);  
  }  
  return count;  
}  
  
  
int main()  
{  
  cout<<func(99);  
return 0;  
}  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved