用一个表达式,判断一个数X是否是2N次方,不用循环语句。
解答:2,4,8,16这样的数转化成二进制是10,100,1000,10000。如果X减1后与X做与运算,答案若是0,则X是2N次方。
答案: !(X & (X - 1))
转载于:https://blog.51cto.com/8887511/1406073
用一个表达式,判断一个数X是否是2N次方,不用循环语句。
解答:2,4,8,16这样的数转化成二进制是10,100,1000,10000。如果X减1后与X做与运算,答案若是0,则X是2N次方。
答案: !(X & (X - 1))
转载于:https://blog.51cto.com/8887511/1406073