[算法]判断一个数是不是2的N次方
生活随笔
收集整理的這篇文章主要介紹了
[算法]判断一个数是不是2的N次方
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
如果一個(gè)數(shù)是2^n,說明這個(gè)二進(jìn)制里面只有一個(gè)1。除了1.
?
a??= (10000)b
a-1 = (01111)b
a&(a-1) = 0。
如果一個(gè)數(shù)不是2^n,
說明它的二進(jìn)制里含有多一個(gè)1。
a = (1xxx100)b
a-1=(1xxx011)b
那么?a&(a-1)就是 (1xxx000)b,
而不會(huì)為0。
所以可以用這種方法判斷一個(gè)數(shù)是不2^n。
?
轉(zhuǎn)載于:https://www.cnblogs.com/lyggqm/p/5549589.html
總結(jié)
以上是生活随笔為你收集整理的[算法]判断一个数是不是2的N次方的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx ab压力测试
- 下一篇: 汉企第一天