用一个表达式,判断一个数X是否是2N次方,不用循环语句。


解答:2,4,8,16这样的数转化成二进制是10,100,1000,10000。如果X减1后与X做与运算,答案若是0,则X是2N次方。


答案: !(X & (X - 1))