判断一个整数是不是二的整数次幂 求某个数的二进制中1的个数
来源:互联网 发布:淘宝名龙堂天猫名龙堂 编辑:程序博客网 时间:2024/05/18 00:23
方法:i&(i-1)
如二进制1100 && 1011 =1000 相当于去掉最右边的1
//求一个整数中二进制1的个数 --普通方法int Numof1(unsigned int i){int count=0;while(i){if(i&1){++count;}i>>=1;}return count;}int GetBitNumOfOne(int n) //http://zh.wikipedia.org/wiki/%E6%B1%89%E6%98%8E%E9%87%8D%E9%87%8F{n = ((0xaaaaaaaa & n) >> 1) + (0x55555555 & n);n = ((0xcccccccc & n) >> 2) + (0x33333333 & n);n = ((0xf0f0f0f0 & n) >> 4) + (0x0f0f0f0f & n);n = ((0xff00ff00 & n) >> 8) + (0x00ff00ff & n);n = ((0xffff0000 & n) >> 16) + (0x0000ffff & n);return n;}//求一个整数中二进制1的个数int Numof1_S(unsigned int i){int count=0;while(i){++count;i&=(i-1);}return count;}//判断一个正整数是不是2的正整数次幂int isPowerBase2(unsigned int i){return (i&(i-1))==0 ? 1 : 0;}#include#include int main(void) {int N=10;printf("%d\n",Numof1(N));printf("%d\n",Numof1_S(N));printf("%d\n",GetBitNumOfOne(N));printf("%d\n",isPowerBase2(1024));return 0;}
- 判断一个整数是不是二的整数次幂 求某个数的二进制中1的个数
- 求一个整数的二进制数中1的个数
- 求一个整数中,二进制数含有1的个数
- 整数的二进制数中1的数目,1-N中1的总共个数,如何判断一个数是否为2的整数次幂.
- 判断一个数是不是另一个数的整数次幂,python实现
- 判断一个数是不是2的整数次幂
- 1.求一个整数的二进制中1的个数 2.判断一个数是否是2的n次方
- 如何用一个语句判断一个整数是不是二的整数次幂?
- 求一个整数的二进制中1的个数
- 求一个整数的二进制中1的个数
- 求一个整数的二进制中1的个数
- 求一个整数的二进制中1的个数
- 求一个整数的二进制中1的个数
- 求一个整数的二进制中1的个数
- 求一个整数的二进制中1的个数
- 求一个整数的二进制中1的个数
- 求一个整数的二进制中1的个数
- 求一个整数的二进制中1的个数
- Linux Tomcat 下的项目局域网中访问不了
- oracle批量drop和批量flashback
- position的应用(双层背景,靠底边布局)
- 合同诈骗罪中“一女多嫁”的诈骗认定
- 合同诈骗罪中“一女多嫁”的诈骗认定
- 判断一个整数是不是二的整数次幂 求某个数的二进制中1的个数
- android画图遇到的问题
- 3d数学--矩阵更多知识
- _T("")
- C#应用程序的UAC控制,提升应用程序权限。获得版本号码
- JavaScript特效:通过拖拽移动网页元素
- 设计模式总结之四行为型模式(1)
- 分享一点代码(Qt 中GBK和UTF8的转换)
- Decorator装饰模式