Sunday, November 7, 2021

[程式演算法] 計算二進位任意數含有多少個位元為1?

 #include <stdio.h>

#include <stdlib.h>

int bitcount(unsigned int);

int main(){

    int count = 0, a;

    a = 1023;

    count = bitcount(a);

    printf("%d有%d個位元為1\n\n", a, count);


    system("pause");

    return 0;

}

int bitcount(unsigned int n)

{

   int count = 0 ;

   while (n)

   {

      count++ ;

      n &= (n - 1) ; //關鍵演算之處

   }

   return count ;

}

No comments:

Post a Comment

n8n index

 【n8n免費本地端部署】Windows版|程式安裝x指令大補帖  【一鍵安裝 n8n】圖文教學,獲得無限額度自動化工具&限時免費升級企業版功能