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

        將2的冪次方寫成二進制形式後,很容易就會發現有一個特色:二進制中只有一個1,而且1後面跟了n個0;所以問題能夠轉化爲判斷1後面是否跟了n個0就能夠了。ide

        若是將這個數減去1後會發現,僅有的那個1會變爲0,而原來的那n個0會變爲1;所以將原來的數與去減去1後的數字進行與運算後會發現爲零。it

最快速的方法:(number & number - 1) == 0class

相關文章
相關標籤/搜索