На этом шаге мы перечислим эти операторы и рассмотрим особенности их использования.
Побитовые операторы предназначены для манипуляции отдельными битами. Язык Python поддерживает следующие побитовые операторы:
>>> x = 100 # 01100100 >>> x = ~x # 10011011 >>> x -101
>>> x = 100 # 01100100 >>> y = 75 # 01001011 >>> z = x & y # 01000000 >>> '{0:b} & {1:b} = {2:b}'.format(x, y, z) '1100100 & 1001011 = 1000000' >>> z 64
>>> x = 100 # 01100100 >>> y = 75 # 01001011 >>> z = x | y # 01101111 >>> '{0:b} | {1:b} = {2:b}'.format(x, y, z) '1100100 | 1001011 = 1101111' >>> z 111
>>> x = 100 # 01100100 >>> y = 250 # 11111010 >>> z = x ^ y # 10011110 >>> '{0:b} ^ {1:b} = {2:b}'.format(x, y, z) '1100100 ^ 11111010 = 10011110' >>> z 158
>>> x = 100 # 01100100 >>> y = x << 1 # 11001000 >>> y 200 >>> z = y << 1 # 10010000 >>> z 400 >>> k = z << 2 # 01000000 >>> k 1600
>>> x = 100 # 01100100 >>> y = x >> 1 # 00110010 >>> y 50 >>> x = y >> 1 # 00011001 >>> x 25 >>> k = x >> 2 # 00000110 >>> k 6
>>> x = -127 # 10000001 >>> y = x >> 1 # 11000000 >>> y -64 >>> z = y >> 2 # 11110000 >>> z -16 >>> k = z << 1 # 11100000 >>> k -32 >>> m = k >> 1 # 11110000 >>> m -16
На следующем шаге мы рассмотрим операторы для работы с последовательностями.