问答题 如何只使用一条语句实现x是否为2的若干次幂的判断
【正确答案】
【答案解析】如果一个数是2的若干次幂,那么其二进制表示中最高位为1,其他位为0,该数减去1之后的数的二进制表示为全1,所以将两数进行与操作,判断其最终结果是否为0,可以只用一语句实现判断该数是否是2的若干次幂的功能。
程序示例如下:
int i=512;
cout<<boolalpha<<((i&(i-1))?false:true)<<endl;