x&(x-1)的巧用:用于判断x是否为2的n次幂,计算二进制1的个数
来源:互联网 发布:java代码防止反编译 编辑:程序博客网 时间:2024/05/18 00:10
最近学到 x&(x-1) 这个式子的两个用法,跟大家分享一下。
作用:将x的二进制表示从最低位起第一个为1的位清0;
一、快速判定x是否为2^n幂。
如果x!=0 且x&(x-1)==0,则x为2的n次幂。(当然不能判定n是多少)
前提条件:x数据类型应为整数;
#define ispow2(x) ( (x)<= 0? 0 :( (x)&((x)-1) )==0 )
二、x=x&(x-1);
相关应用:计算x二进制表示中1的个数。
不用一位一位的移位了。
c代码:
int count=0;
while(x)
{
count++;
x&=x-1;// x=x&(x-1);
}
在此 向第一个想到这些方法的人致敬!
- x&(x-1)的巧用:用于判断x是否为2的n次幂,计算二进制1的个数
- x&(x-1)的巧用:用于判断x是否为2的n次幂,计算二进制1的个数
- x&(x-1)的巧用:用于判断x是否为2的n次幂,计算二进制1的个数
- 巧用x&(x-1):判断二进制1的个数&判断是否是2的N次幂
- 计算二进制整数中有多少个1 判断是否为2的n次幂
- 判断x是否为2的若干次幂
- 一句话判断x是否为2的若干次幂
- 判断一个数(x)是否是2的n次方 x&(x-1)) == 0
- 计算整数x的二进制表示中1的个数
- 如何判断K个2的N(N不可重复)次幂为和的整形值X中是否包含2的M次幂
- 整数的二进制数中1的数目,1-N中1的总共个数,如何判断一个数是否为2的整数次幂.
- X二进制后的1的个数
- x的n次幂
- x的n次幂
- x的n次幂
- 写一语句实现x是否为2的若干次幂的判断
- 一语句实现x是否为2的若干次幂的判断
- 如何只使用一条语句实现x是否为2的若干次幂的判断
- 黑马程序员_论坛问题杂记
- iostat来对linux硬盘IO性能进行了解
- 电容降压
- 失败是缺点的积累
- 定时关机,适用于windows系统
- x&(x-1)的巧用:用于判断x是否为2的n次幂,计算二进制1的个数
- 【usaco】4.4.2最小割集PROB Pollutant Control
- joj 1805
- 字典树算法
- 读书笔记——重定位
- 宋山木“语录”及个人读后感
- poj 3225【线段树--区间更新,XOR,区间询问】
- 关于静态链接库
- 把html页面的部分内容保存成新的html文件的jquery代码