判斷一個數是不是2的N次方,很牛的算法#define ISPOW2(x) (x) & (x-1) ? false : true

判斷一個數是不是2的N次方,很牛的算法#define ISPOW2(x)   (x) & (x-1) ? false : true

原理:由於2的N次方的數二進制表示是第1位爲1,其餘爲0,而x-1(假如x爲2的N次方)得到的數的二進制表示恰恰是第1位爲0,其餘爲1,兩者相與,得到的結果就爲0,否則結果肯定不爲0
 

發佈了23 篇原創文章 · 獲贊 6 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章