一语句实现x是否为2的若干次幂的判断。 【参考答案】 void main() { int a; scanf(“%d”,&a); printf(“%c”,(a)&(a-1)?’n’:’y’); // 若是打印y,否则n } 我的分析过程 首先分析2的幂次方特点 除了1都是偶数;例如:20=1;22=4;1的二进制数就是1;而偶数的二进制也都是只有一个1组成; 只有奇数的二进制里面会有0;因此可以用位运算&;如果x是4,二进制就是100; 4-1=3,3==>011; 100& 011 =000 ==>结果输出:y