按位運算符是把數字看作二進制來進行計算的。Python中的按位運算法則如下,只針對整型數據: a=60的二進制是:0011 1100 b=13的二進制是:0000 1101 a和b進行二進制按位算法: 0011 1100 0000 1101 ------------------ 0000 1100 ---->a&b(a,b按位與運算結果) 0011 1101 ---->a|b(a,b按位或運算結果) 0011 0001 ---->a^b(a,b按位異或運算結果) 即a和b相反結果才是1,相同則為0 取反: a=60,0011 1100 按位取反:結果為 1100 0011 移位: a=60,0011 1100 a<<3 左移動3位 則是向二進制右邊加3個0 ,結果是:11 1100 000,值為480,等效於 x * 2**y a>>3 右移動3位 則是將二進制位全部向右移動3位 ,結果是:1 1100,值為28,將a的各二進位全部向 右移動3位,相當於將a的二進制位前3位切除 。等效於x / 2**y (取整)