返回x的二进制表示下有多少个1 int fun(x) { int cnt = 0; while(x) { cnt ++; x = x&(x-1); } return cnt; } 判断x是否是2的整数次幂 如果是,则返回1,否则返回0 切记==的优先级大于 & int fun(int x) { if( (x !=0 && x&(x-1)) == 0 ) return 1; else return 0; }