判斷乙個數是否為2的次方冪

2021-06-18 15:44:57 字數 565 閱讀 4045

給定乙個整數n,判斷它是否為2的次方冪。

思路:2,4,8,16,32....都是2的n次冪

轉換為二進位制分別為:

10    100    1000   10000    100000

這些數減1後與自身進行按位與,如果結果為0,表示這個數是2的n次冪

01    011    0111   01111    011111

10&01 = 0    100&011 = 0   1000&0111 = 0   10000&01111 = 0  100000&011111 = 0

源**:

#include /* 判斷乙個整數是否為2的次方冪 */

bool fun(int v)

int main(void)

執行結果:

判斷乙個數是否為2的N次方

package aboutmove 判斷是否為2的次方 public class aboutmove return false public static void main string args 注意點千萬不能在第15行寫成n 1 因為6 2 3 3 2 1這是整形 時間複雜度為o logn 演...

python 判斷乙個數是否是2的冪次方

乙個數是否是2的冪次方,比較常用的是遞迴和移位運算進行判斷。1.遞迴演算法的思想很簡單,就是不斷的模上2去判斷。2.如果乙個數是2的冪,那麼它的二進位制表示中就只有一位1,例如 10000,1000,100等等。所以如果對數字1進行移位操作,總會在移到某個位的時候和這個數相等。這就是移位判斷的思想。...

如何判斷乙個數是否為2的冪

給定乙個整數,寫乙個函式判斷該函式是否為2的冪。例如輸入 16 輸出 true 輸入 5 輸出 false bool ispoweroftwo int n bool ispoweroftwo int n 由二進位制原理可以知道,如果乙個數為2的冪,那麼這個數對應的二進位制應該只有乙個1,演算法1 在...