|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 如何判断一个数是2的幂(用一个表达式) ----帖子里有
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2998
人关注过本帖
标题:
如何判断一个数是2的幂(用一个表达式) ----帖子里有
只看楼主
加入收藏
zmhdxy
等 级:
新手上路
帖 子:452
专家分:0
注 册:2007-9-27
楼主
收藏
问题点数:0 回复次数:8
如何判断一个数是2的幂(用一个表达式) ----帖子里有
本人在网上找到一个判断一个数是2的幂的表达式
希望有人写段c还有c++的代码帮我实现一下
#define POW2(X)
(X)&(X-1)?(TRUE):(FALSE)
搜索更多相关主题的帖子:
帖子
判断
表达
FALSE
TRUE
2007-12-25 16:39
举报帖子
使用道具
赠送鲜花
万兽无缰
等 级:
新手上路
威 望:
1
帖 子:296
专家分:0
注 册:2007-8-27
第
2
楼
收藏
得分:0
X的Y方
#include <math.h>
#include <stdio.h>
int main(void)
{
double x = 2.0, y = 3.0;
printf("%lf raised to %lf is %lf\n", x, y, pow(x, y));
return 0;
}
女朋友问我想怎么死~~~
我说我想"爽死"
2007-12-25 17:07
举报帖子
使用道具
赠送鲜花
zmhdxy
等 级:
新手上路
帖 子:452
专家分:0
注 册:2007-9-27
第
3
楼
收藏
得分:0
我不是这个意思
我是说用#define POW2(X)
(X)&(X-1)?(TRUE):(FALSE)实现
判断x是否是2的幂
2007-12-25 18:34
举报帖子
使用道具
赠送鲜花
lonmaor
来 自:郑州
等 级:
版主
威 望:
75
帖 子:2637
专家分:6423
注 册:2007-11-27
第
4
楼
收藏
得分:0
楼主给的式子似乎结果不对。
bool pow2(int x)
{
return x&(x-1)?false:true;
}
2007-12-25 18:59
举报帖子
使用道具
赠送鲜花
永夜的极光
等 级:
贵宾
威 望:
27
帖 子:2721
专家分:1
注 册:2007-10-9
第
5
楼
收藏
得分:0
#define TRUE 1
#define FALSE 0
#define POW2(X)
(X)&(X-1)?(TRUE):(FALSE)
int main()
{
int i=65536;
if(POW2(i))
printf("True");
else
printf("False");
return 0;
}
从BFS(Breadth First Study)到DFS(Depth First Study)
2007-12-25 20:05
举报帖子
使用道具
赠送鲜花
zmhdxy
等 级:
新手上路
帖 子:452
专家分:0
注 册:2007-9-27
第
6
楼
收藏
得分:0
楼上的是对的
不过好像反了
#include"stdio.h"
#define TRUE 1
#define FALSE 0
#define POW2(X)
(X)&(X-1)?(TRUE):(FALSE)
void main()
{
int i;
printf("请输入一个整数\n");
scanf("%d",&i);
if(POW2(i))
printf("false\n");
else
printf("true\n");
}
2007-12-25 20:49
举报帖子
使用道具
赠送鲜花
zmhdxy
等 级:
新手上路
帖 子:452
专家分:0
注 册:2007-9-27
第
7
楼
收藏
得分:0
顺便问一下
c++中不是有布儿型吗
可不可以用c++写个类似的
也就可以不用定义ture 和 false了吗
2007-12-25 20:51
举报帖子
使用道具
赠送鲜花
永夜的极光
等 级:
贵宾
威 望:
27
帖 子:2721
专家分:1
注 册:2007-10-9
第
8
楼
收藏
得分:0
#define TRUE 1
#define FALSE 0
#define POW2(X)
(X)&(X-1)?(TRUE):(FALSE)
这三句换成
#define POW2(X)
(X)&(X-1)?(true):(false)
就可以在c++里面用了,要注意大小写,c++中的布尔型所有字母都是小写.
我前面的程序没调试过,看了看的确反了,原因是我想当然的以为上面的宏定义中,TRUE表示的是2的幂,而FALSE表示不是2的幂.谁知道刚好反过来了
从BFS(Breadth First Study)到DFS(Depth First Study)
2007-12-26 08:23
举报帖子
使用道具
赠送鲜花
zmhdxy
等 级:
新手上路
帖 子:452
专家分:0
注 册:2007-9-27
第
9
楼
收藏
得分:0
非常感谢
2007-12-26 14:08
举报帖子
使用道具
赠送鲜花
9
1/1页
1
快速回复:
如何判断一个数是2的幂(用一个表达式) ----帖子里有
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.050711 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved