快速冪解法
附(比較好的快速冪講解)
https://www.cnblogs.com/CXCXCXC/p/4641812.html
這個強大的工具:&和>>
&運算通常用於二進制取位操作,例如一個數 & 1 的結果就是取二進制的最末位。還可以判斷奇偶x&1==0爲偶,x&1==1爲奇。
>>運算比較單純,二進制去掉最後一位,不多說了,先放代碼再解釋。
1 int poww(int a, int b) { 2 int ans = 1, base = a; 3 while (b != 0) { 4 if (b & 1 != 0) 5 ans *= base; 6 base *= base; 7 b >>= 1; 8 } 9 return ans; 10 }
講得真好,我都能理解了