求教:测试一个无符号整数是否是2的整数幂

doudouL 2003-10-28 02:35:43
要求:
1。不能调用数学函数
2。不能用循环
3。在一行代码内完成
...全文
44 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
短歌如风 2003-10-28
  • 打赏
  • 举报
回复
我说的不对是说我写的第二个。

再来个:
(x&(-x)) == x
x&((~x)+1)) == x
短歌如风 2003-10-28
  • 打赏
  • 举报
回复
上面不对。
((x -1) & (~x)) == (x - 1)
((x)^(-x)) ==(-x * 2)
frankzch 2003-10-28
  • 打赏
  • 举报
回复
x=1也适用
SoftWare1999 2003-10-28
  • 打赏
  • 举报
回复
sorry
((x-1)&x == 0)
x>1
SoftWare1999 2003-10-28
  • 打赏
  • 举报
回复
((x-1)&x == 0)
短歌如风 2003-10-28
  • 打赏
  • 举报
回复
((x-1)&(-x)) == 0
doudouL 2003-10-28
  • 打赏
  • 举报
回复
不对啊
例如(66)D = (100010)B
但是100010 & 1=0
短歌如风 2003-10-28
  • 打赏
  • 举报
回复
(x ^ (x-1))==((x << 1) - 1)
SoftWare1999 2003-10-28
  • 打赏
  • 举报
回复
if ((k & 1)==0)
{
do_anything
}

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧