c语言题目

junfeiwo 2011-11-04 08:48:57
一语句实现x是否是2的若干次幂的判断?
...全文
137 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
aiyaya730 2011-11-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cc199026 的回复:]
引用 2 楼 korekara88730 的回复:

这个方法固然是好,不过,怎么判定呢?全数字只有一个1的情况,难道要一个个的移位拆分?
[/Quote]

判断的方法也很简单,汇编写起来也不费劲

decimal 转 binary的方法无非就是 除以2 ,循环取余数 。
设置 flag,取余过程中 碰到 1 就设置FLAG ,
如果 FLAG 被设置了2次,就可以 ret FALSE了
紫日剑 2011-11-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 junfeiwo 的回复:]
一语句实现x是否是2的若干次幂的判断?
[/Quote]

孩子,你问错地方了,这里是汇编语言的地盘,问这个问题要去C语言那边
紫日剑 2011-11-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 korekara88730 的回复:]

一个数字,转化为2进制
如果只有一个1,就是2的N次方,则就不是

LZ可以用这个思路,应该可以实现吧
[/Quote]
这个方法固然是好,不过,怎么判定呢?全数字只有一个1的情况,难道要一个个的移位拆分?
aiyaya730 2011-11-04
  • 打赏
  • 举报
回复
一个数字,转化为2进制
如果只有一个1,就是2的N次方,则就不是

LZ可以用这个思路,应该可以实现吧
zara 2011-11-04
  • 打赏
  • 举报
回复
c 的语句可以写得非常复杂,一个复杂的语句顶 10 个简单的语句,也不是虚言。
算法上,应该就是看 log2(x) 是不是整数吧。

21,499

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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