1. 程式人生 > >一條語句判斷數x是否2的n次冪.求取二進位制1的個數

一條語句判斷數x是否2的n次冪.求取二進位制1的個數

一條語句判斷數x是否2的n次冪

return !(x & (x - 1));

求取十進位制數字元素1的個數

int fun(int x) { int count = 0; int i, j, k; /方法2 負數不可計算,需要改進/ while (x != 0){ if (x & 1 == 1) count++; x = x >> 1; } /方法1/ while (x != 0){ x = x&(x - 1); count++; } return count; }

運算過程:

             https://blog.csdn.net/csdn_kou/article/details/79764559