判斷一個數是否爲2的整數次方

最直接的做法是對2不斷取餘,看餘數是否爲0,但是這樣相對來說時間複雜度較高,這裏提供一種思路:
位運算
2的整數次方,則轉換爲二進制後,每一位上只有一個1,其餘全爲0

int N;
if(((N-1)&N)==0)     //則爲2的整數次方
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章