Python語言中的位運算符包括:移位運算符(左移、右移)、按位或(或)、按位與(&)等,本文主要介紹左移運算符。
左移運算符“<<”表示將一個數的二進制表示向左移動指定的位數,高位丟棄,低位補0。
a = 2 # 二進制表示為10 b = a<< 2 # a左移2位,變為1000,即十進制下的8 print(b) # 輸出8
在上述代碼中,變量a的值為2,二進制表示為10,左移2位后變為1000,即十進制下的8。
需要注意的是,左移運算符的移動位數可以是負數或超過數據類型的位數,這可以導致整個二進制數值全部變為0。
a = 2 b = a<< -2 # a左移-2位,變為0 print(b) # 輸出0 c = 1<< 100 # 左移100位,變為0 print(c) # 輸出0
上面的代碼中,a左移-2位時,左移的方向相當于右移2位,由于超出了數據類型的位數,會導致整個數值變為0。而c左移100位后,也會導致整個二進制數值變為0。
在實際使用中,左移運算符可以用來實現二進制數的乘法,在計算機科學中有廣泛應用。