如何用一行语句判断一个数是不是2的次方? 要求不能用循环。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 bluebohe(薄荷)高!这样更好:if(a && !(0x80000000%a)) 即if (a>>1) 是2的次方else 不是2的次方 if((x & (x-1)))很巧妙的方法! 只有 if(a && !(0x80000000%a)) 是对的 if(a && !(0x80000000%a)) 支持wwrb(飞翔的骆驼)!高呀!思路对,细节可以再雕琢,比方用--代替双目减法运算符,然后按位与. joysunstar(鹤鸣)说得对,确实需要非零判断. 好像if((x & (x-1)))没有判断0的情况应该这样if(x && (x & (x-1))) if((x & (x-1)))应该改成这样:if(x && !(x & (x-1))) to :Mr_Ldh(天上不会掉奶酪) 很不错 if (x && (x & (x-1)) == 0){};这是很老的提了太老了 关于修改文件保留字的问题 监控外部程序对某串口上的所有操作! 做过http upload的程序的大侠请留步!!! DDK现在是不是需要在m$网站上预定?收不收钱? 用picture 控件显示文件中的图像(在线等待急) 请教关于MFC集合类 谁解释一下线程退出码的意义? 请高手帮忙。关于SQL server查询和数据库切换的问题 一些关于netbios的问题 sendmessage后的响应函数,急 反色 database.OpenEx 为什么会引起“abnormal programm terminati
这样更好:
if(a && !(0x80000000%a))
if (a>>1)
是2的次方
else
不是2的次方
很巧妙的方法!
思路对,细节可以再雕琢,比方用--代替双目减法运算符,然后按位与.
if((x & (x-1)))没有判断0的情况应该这样
if(x && (x & (x-1)))
if(x && !(x & (x-1)))
很不错
{
};这是很老的提了太老了