程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> 初入'C',以做一個例題有感。

初入'C',以做一個例題有感。

編輯:關於C
題目:寫一個函數返回參數二進制中 1 的個數 方法1: 我自己寫的,運用'%'和'/',感覺挺簡單的。 int count_one_bit(int num)     {        unsigned int count=0;        while(num)        {   if(num%2==1)   count++;   num=num/2;        }   return count;     } int main() { int n = 0; int count = 0; scanf("%d", &n); count = count_one_bit(n); printf("%d\n", count); system("pause"); return 0; }   方法2: 運用移位'>>',我還不太熟悉運用移位操作符,以後得加強練習。 int count_one_bit(int num) { int count = 0; int i = 32; while (i--) { if (num & 1 == 1) count++; num = num >> 1; } return count; } 方法3: 運用'&'和移位,這個真的不易想到,我想得數學好才能想到吧!怪我數學不好,得加強算法學習,多接觸,積累經驗。 int count_one_bit(int num) { int count = 0; while (num) { count++; num = num & (num - 1); } return count; } 總結: 初入'C',感覺寫代碼好具有邏輯性呀!好奇妙的感覺!剛剛百度了一下,上面陳述了好多種方法,但真的太弱了,有些竟然連看都還看不懂,好憂傷!慢慢來吧!       已經選擇了,決定了走程序員這條路,就不要抱怨,不要再偷懶,不要找各種借口和理由放縱自己,遠離電影,少靠近床,踏踏實實努力學習一年!       我一直相信:努力了不一定會成功,但不努力一定不會成功!無論最後結果如何,但只有現在努力了,以後,我才不會怨恨自己,不會悔恨,心裡也是美好的。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved