判断一个数是否是2的幂
生活随笔
收集整理的這篇文章主要介紹了
判断一个数是否是2的幂
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原理
如果一個數n是2的冪,那么一定是00100這種格式,且n-1的二進制為00011這種格式,如下
2的二進制為? 0000 0010,(2-1)的二進制為 0000 0001
4的二進制為? 0000 0100,(4-1)的二進制為 0000 0011
8的二進制為? 0000 1000,(8-1)的二進制為 0000 0111
16的二進制為0001 0000,(16-1)的二進制為 0000 1111
所以若n為2的冪,則n和n-1做&運算,一定為0
代碼如下
bool is_power_of_2(uint32_t n) {if (n == 0) {return false;}return (n&(n-1)) == 0; }總結
以上是生活随笔為你收集整理的判断一个数是否是2的幂的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Multi-Range Read (MR
- 下一篇: 找到比某个数大的最小的2的次幂