判斷乙個無符號整數是不是2的n次冪的冪

2021-05-09 13:00:38 字數 420 閱讀 6032

c版本:

#include

unsigned int f2(int n);

//判斷無符號整數d是不是[2的n次冪]的冪,並指出該數[d]是[2的n次冪]的多少(e)次冪

//原理:2的n次冪的冪的二進位制位中有且只有一位是1,且1後面剛好是n個0為一組

int ispowerof2power(unsigned int d, int n, int *e)

else

return 0;  //不是2^n的冪

}else if(v == 0)

i -= n;

else

break;

}return 0;

}unsigned int f2(int n)   //求2^n-1

void main()

i += 2;}}

java 判斷乙個數是不是2的N次方

第一種方法,對n進行迴圈除以2.public boolean ncf int n if n 2 return b 第二種方法,算2的n次方資料,比較n,小於繼續乘以2.等於的話就是2的n次方。大於的話就不是2的n次方。public boolean ncf2 int n if xx 2 x else ...

判斷乙個數是不是2的整數次冪

用位運算 二進位制數的位權是以2為底的冪,如果乙個整數 m 是 2 的 n 次冪,那麼轉換為二進位制之後只有最高位為 1,其餘位置為 0,再觀察 m 1 轉換為二進位制後的形式以及 m m 1 的結果,例如 2 0000 0010 1 0000 0001 2 1 0000 0010 0000 000...

如何判斷乙個整數是不是奇數 最佳方式

通常判斷乙個整數是否是奇數,大家會這樣來做 public static boolean isodd int i 或者 public static boolean isodd int i 顯然,第一種當 i 是負數時就會出現判斷錯誤。第二種與 0 比較是很明智的選擇。我們選第二種準沒錯。還有一種效率高...