/**
* title: iscompletepower
* description: 判斷乙個數是否是2的整數次冪
* 判斷原理:
* 2的整數次冪,都是以1開頭,其餘其餘位為0的形式
* 例如:8的二進位制形式為:1 0 0 0
* 這樣的乙個數進行-1後,所得數的各位都會和原數的各位成反碼
* 例如:7的二進位制形式位:0 1 1 1
* 所以將8和7進行按位與運算,所得結果為0(按位與都是1才會得1)
* * 注:
* 此方法會將0和1也算作2的整數次冪,呼叫此方法時需要注意
* * @param num
* @return
*/public static boolean iscompletepower(int num)
執行0-99:
0: true
1: true
2: true
3: false
4: true
5: false
6: false
7: false
8: true
9: false
10: false
11: false
12: false
13: false
14: false
15: false
16: true
17: false
18: false
19: false
20: false
21: false
22: false
23: false
24: false
25: false
26: false
27: false
28: false
29: false
30: false
31: false
32: true
33: false
34: false
35: false
36: false
37: false
38: false
39: false
40: false
41: false
42: false
43: false
44: false
45: false
46: false
47: false
48: false
49: false
50: false
51: false
52: false
53: false
54: false
55: false
56: false
57: false
58: false
59: false
60: false
61: false
62: false
63: false
64: true
65: false
66: false
67: false
68: false
69: false
70: false
71: false
72: false
73: false
74: false
75: false
76: false
77: false
78: false
79: false
80: false
81: false
82: false
83: false
84: false
85: false
86: false
87: false
88: false
89: false
90: false
91: false
92: false
93: false
94: false
95: false
96: false
97: false
98: false
99: false
參考 java 判斷乙個數是否是2的整數次冪
有一道演算法題是這樣的,求乙個數是否是2的整數次冪。剛開始我的演算法是這樣寫的 讓這個數每次都除以2,然後再乘以2,看這兩個數是否相等,不相等就返回false。放在迴圈裡面讓它從頭除到尾。public boolean ispower intnumber else else return true 用...
判斷乙個數是否是2的整數次冪,python實現
問題 判斷乙個數是否是2的整數次冪?分析一 判斷乙個數是否是是2的整數次冪。方法和思路也很多,其中最簡單的就是,用這個數除以2用除的商再除以2,直到最後被除數為2,證明這個數是2的整數次冪。這種思路簡單,但是略顯笨重。我們採用第二種思路。分析二 由於2這個數在計算機中是乙個比較特殊的數。計算機是以二...
判斷乙個數是2的整數次冪
private static boolean ispoweroftwo int val 或者private static boolean ispoweroftwo int val 例如 val 8,用二進位制表示 1000 val 1 7,用二進位制表示 0111 val val 1 0 原理 在二...