我在瀏覽一個開源項目並碰到了這個python方法。我知道&和< <位運算符是如何工作的,但我不確定if else語句在這種情況下是如何工作的。我可以說int = 2,position是= 1,if語句的結果是2(10 base 2),但是如果語句compare 2與if語句的結果是什麼呢?我將如何評估其他語句?if和bitwise&on同一行
def get_bit(int, position):
if int & (1 << position):
return '1'
else:
return '0'
這只是測試是否設置了特定位,例如, 'get_bit(4,2)=='1'',而'get_bit(4,1)=='0''儘管對變量名「int」使用python關鍵字是非常糟糕的做法。 – AChampion
注意'4 = 0100',注意'get_bit(7,2)=='1''爲'7 = 0111'。 – AChampion