x >> y 表示x/(2的y次方)
x << y 表示x*(2的y次方)
10 & 3 可以看作 1010 & 0011 每位做與運算 結果為0010=2
10 | 3 可以看作 1010 | 0011 每位做或運算 結果為1011=11
這是因為編譯器在對2的指數取模操作的時候,會優化成位運算操作,所以有時二者差距很小
知道了這些就開始優化我們的**了
最開始判斷奇數:
bool judge(int x)
然後我們會優化一下布林表示式:
bool judge(int x)
在把取模轉換成位運算:
bool judge(int x)
最後可以寫成這樣:
bool judge(int x)
就大功告成了!
在這裡記錄學習過程
有什麼錯誤還請大佬指出!!
判斷乙個整數是否為偶數
python3.7 輸入乙個整數,判斷其是否為偶數 print 判斷乙個數是否為偶數 number input 請輸入乙個整數 time 1 while time 1 while not number.isdigit print 這不是乙個整數,請重新輸入 end number input numb...
判斷乙個整數是否為素數 確定乙個整數是否是2的冪
給定乙個整數,編寫乙個函式來確定它是否是2的冪。範圍 1 2 31 1 測試用例 輸入 16,輸出 true 因為 2 4 16 輸入 18,輸出 false.最明顯的暴力方法就是除以2,然後檢查它是否達到1。var poweroftwo function n 由於給出的範圍在0 2 31 1之間,...
面試 如何判斷乙個數是否為奇數?
最開始我寫的是 return num 2 1 但發現好像忘了負數.所以改為了 return num 2 0 我以為這就解決了問題,但我習慣性檢視答案時,卻發現答案用了乙個奇怪的方法 return i 1 1 這是啥東西,冷靜下來想了一會,哦哦哦.答案是直接當做二進位制進行了運算,因為二進位制狀態下,...