【python技巧】
1)【關於‘&’ :按照二進制進行與操作,可以用作判斷奇偶】【https://zhidao.baidu.com/question/308587899.html】
& 是位運算;and 是邏輯運算。
【舉例1】
>>> a = 1
>>> b = 2
>>> #1 的二進制是 1,2的二進制是 10
>>> a&b
0
>>> a and b
2
【說明】
a&b=01&10=00=0
python 中的and從左到右計算表達式,若所有值均為真,則返回最后一個值,若存在假,返回第一個假值。所以,實例‘a and b’返回的是 2,也就是最后一個真值。
【舉例2】
對於(m+n) &1
若結果為0,則(m+n)是偶數;若結果為1,則(m+n)為奇數;
2)關於“>>”,用來二進制位移。【參考:https://zhidao.baidu.com/question/310628609.html】
>> 是右移,右移1位相當於除以2。
<< 是左移,末位補0,類比十進制數在末尾添0相當於原數乘以10,x<<1是將x的二進制表示左移一位,相當於原數x乘2。比如整數4在二進制下是100,4<<1左移1位變成1000(二進制),結果是8。