2的整数次幂
Posted allinoo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2的整数次幂相关的知识,希望对你有一定的参考价值。
#特征:
2的整数次幂转化成二进制时,只有最高位是1,其他位都是0
#判断方法:
2的整数次幂用原数值和它自身减1的结果进行按位与运算,即**(m & (m - 1)) == 0
**,结果一定为0!由此可以实现快速判断一个数是否为2的整数次幂数。
#求一个数最近的比它大的2的整数次幂数:
将该数最高位向右的位全部设置为1,再用变化后的数字+1即可得到最近的比它大的2的整数次幂数
具体代码实现:
如果该数不为2的整数次幂数
m |= m >> 1;
m |= m >> 2;
m |= m >> 4;
m |= m >> 8;
m |= m >> 16;
m++;
cout << m << endl;
仅为参考文章总结记录
以上是关于2的整数次幂的主要内容,如果未能解决你的问题,请参考以下文章