bitcnt_1.c

来自「国外网站上的一些精典的C程序」· C语言 代码 · 共 42 行

C
42
字号
/***  Bit counter by Ratko Tomic*/#include "bitops.h"int CDECL bit_count(long x){        int n = 0;/*** The loop will execute once for each bit of x set, this is in average** twice as fast as the shift/test method.*/        if (x) do              n++;        while (0 != (x = x&(x-1))) ;        return(n);}#ifdef TEST#include <stdlib.h>#include "snip_str.h"               /* For plural_text() macro    */main(int argc, char *argv[]){      long n;      while(--argc)      {            int i;            n = atol(*++argv);            i = bit_count(n);            printf("%ld contains %d bit%s set\n",                  n, i, plural_text(i));      }      return 0;}#endif /* TEST */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?