Python Bitwise Operators


Introduce Python's binary function and bitwise operator AND, NOT and XOR. We use 0bxx to represent a binary, such as 1 = 0b1, 2 = 0b10, etc

Related course: Complete Python Programming Course & Exercises

Convert to binary

Introduces the Python function bin(x), which is mainly used to find the binary value of the decimal number x

For example

bin(2) # is 0b10

Exercise: Print out the binary value of a number between 2 and 5

print bin(1)
for i in range(2,6):
    print bin(i)

Section III

Introduces the int() function for Python

The most common use of the int() function is that int(str) is the conv. But int(str,base) can be used to convert a value in base to decimal, e.g. int("0b11",2) gives a value of 3

For example

>> print int("1",2)
>> print int("10",2)
>> print int("111",2)
>> print int("0b100",2)
>> print int(bin(5),2)
>> print int("11001001",2)
>> 01

Bitwise Shift Operators

Introduces the left and right shift operations of Python

Examples of bit shift operations:

Bitwise Left Shift Operator

The << operator shifts left.

Left Bit Shift (<<)  
0b000001 << 2 = 0b000100 (1 << 2 = 4)
0b000101 << 3 = 0b101000 (5 << 3 = 40)

Bitwise Right Shift operator

Right Bit Shift (>>)
0b0010100 >> 3 = 0b000010 (20 >> 3 = 2)
0b0000010 >> 2 = 0b000000 (2 >> 2 = 0)

3 Exercise: Shift the value of shift_right of the variable by two places and shift\left by two places.

shift_right = 0b1100
shift_left = 0b1

# Your code here!
shift_right >>= 2
shift_left <<= 2

print bin(shift_right)
print bin(shift_left)

python bitwise shift

Bitwise AND operator

1 Introduces another type of Python bit algorithm &

2 for example A&B, that is, both bits are 1 for 1, otherwise 0

3 Exercise: Print out the results in binary 0b1110&0b101

print bin(0b1110&0b101)

Bitwise NOT operator

1 An alternative bit operation for Python is introduced|

2 for example a|b, that is if there is 1 in both bits it is 1, otherwise it is 0

    a: 00101010 42
    b: 00001111 15
========================
a | b: 00101111 47

3 Exercise: Print out the results in binary 0b1110|0b101

print bin(0b1110|0b101)

Bitwise XOR Operator

1 introduces an alternative bit operation for Python^

2 for example a^b, that is if the two bits are different then it is 1, otherwise it is 0

3 Exercise: print out the results in binary 0b1110^0b101

print bin(0b1110^0b101)

Bitwise NOT operator

1 Introduces another kind of Python bit operation~

2 For example, the result of ~a is that the opposite of a is subtracted by one, which is satisfied for both positive and negative numbers of a

3 For example.

print ~-4 >> 3
print ~-3 >> 2
print ~-1 >> 0

print ~0 >> -1

print ~1 >> -2
print ~2 >> -2
print ~3 >> -2