紧急求救了啊,怎样判断一个integer类型的数字是否是2的乘方呢???级急急啊,在线等待~~~

skylake888 2003-09-02 07:10:41
最好有代码阿,我现在做的这个项目特别急啊,请各位帮忙了啊~~~~

问题解决立马散分!!!
...全文
91 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
skylake888 2003-09-02
  • 打赏
  • 举报
回复
谢谢大家拉,接分咯~~~~~
skylake888 2003-09-02
  • 打赏
  • 举报
回复
好了,用了别的方法,问题搞定了,散分 :)
klbt 2003-09-02
  • 打赏
  • 举报
回复
给你做一个简单函数:
Integer i

do while i > 1
if i / 2 <> Int(i / 2) then
Return -1
else
i = i / 2
end if
loop
Return 1
skylake888 2003-09-02
  • 打赏
  • 举报
回复
好像按 孤星 的代码 运行以后的 n 都等于1 啊,还是没有完全判断出来 :(
skylake888 2003-09-02
  • 打赏
  • 举报
回复
呵呵,不好意思阿,当时我没有刷新,所以没看到你的回帖,抱歉了~~~

孤星老兄 你的代码我测试了,那个return false 还有 return true好像不行,报错~~~
guxing 2003-09-02
  • 打赏
  • 举报
回复
晕,你把上面测试一下再说吗?
能实现你的功能,要尊重别人的劳动
skylake888 2003-09-02
  • 打赏
  • 举报
回复
晕,是想知道是不是 2 的乘方阿,不是判断能不能被2整除那么简单的~~~~
guxing 2003-09-02
  • 打赏
  • 举报
回复
Long n,m
do while n>1
if mod(n,2)>0 then return false
m=n/2
IF m*2 <> n THEN Return False
n = m
loop
if n=1 then
return true
else
return false
end if
bcbhj 2003-09-02
  • 打赏
  • 举报
回复
在help里找mod函数,看看就知道怎么用了啊
skylake888 2003-09-02
  • 打赏
  • 举报
回复
晕,楼上的兄弟能不能具体一点啊,谢谢啦~~~~
aty283 2003-09-02
  • 打赏
  • 举报
回复
mod(,2)
huangxinru 2003-09-02
  • 打赏
  • 举报
回复
自己写个函数呗。
//参数
long n

do while n>1
n=n/2
if n<>int(n) then return false
loop
if n=1 then
return true
else
return false
end if
没测过,随手写的

bcbhj 2003-09-02
  • 打赏
  • 举报
回复
mod

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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