2的幂问题
来源:互联网 发布:win7 64位c语言编译器 编辑:程序博客网 时间:2024/06/06 02:50
#include <bitset>
#include <iostream>
using namespace std;
bool isFit(int);
bool isFit2(int);
bool isFit3(int);//移位与1位于,判断最后以为是否为1,然后再移出去,知道为0,注意a=a>>1;(写出a>>1则a的值不会变化!)
void main()
{
// bitset<8> bs(16);//使用低阶位来初始化bs,及用ef两个来初始化bs。
// 亦可以用0x010100011这样形式来初始化bs;
// cout<<bs.count()<<endl;//所以为7
// cout<<bs.to_ulong();
//使用两种方法来判别一个数是不是2的幂
while (1)
{
int num;
cin>>num;
// if (isFit(num))
// if (isFit2(num))
if (isFit3(num))
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
}
bool isFit(int a)
{
return ((a&(a-1))==0)?true:false;
/* int b=a&(a-1);
if (b==0)
return true;
else return false;
*/
}
bool isFit2(int a)
{
bitset<8*sizeof(a)>bs (a);
return (bs.count()==1)?true:false;
}
bool isFit3(int a)
{
int b=1;
int sum=0;
while (a)
{
sum+=(a&b);
a=a>>1;
}
return sum==1?true:false;
}
- 2的幂问题
- 幂的精度问题
- 2个蛋疼的问题
- mysql的问题2
- 遇到的问题2
- 关于2的问题
- c++模板的问题解析-问题2
- 关于一个表达式判断2的幂的问题
- 使用非2次方幂的图像纹理的问题
- 使用非2次方幂的图像纹理的问题
- 使用非2次方幂的图像纹理的问题
- 关于快速幂的问题
- 蓝桥 幂的问题
- eclipse3.2的语言包问题
- ubuntu的相关问题~2
- 关于CSLA的问题2
- gallery的2个问题
- struts 2 + fck 的问题
- [转]PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题
- 鼠标DarkField技术
- 设计模式读书笔记之中介者模式(mediator pattern)
- 小赟随之一笔
- [转]PHP中判断空变量empty(),is_null(),isset()的区别
- 2的幂问题
- Reading and Writing BLOB Data to MS SQL or Oracle Database
- [转]mysql 的isnull
- 10 things to make your desktop database apps better
- 江民董事长王江民因心脏病突发逝世 享年59岁
- 网页横幅制作
- DOS命令全集(1)
- DOS命令全集(2)
- 空虚