Binary operatiomns

This assumes you understand binary and other number systems and the operations involved.

To assign binary or hexadecimal values to an integer

number = 0b101010   # 42
number = 0x2a       # 42

Convert string representation of binary or hexadecimal values to integers

number = int("101010", base=2)  # 42
number = int("2a", base=2)  # 42

Convert integer to string representation of binary or hexadecimal numbers

print( bin( 42 ))               # '0b101010'
print( bin( 42 )[2:])           # '101010'
print( hex( 42 ))               # '0x2a'
print( hex( 42 )[2:])           # '2a'

Bit shifting

number = 1 << 4
print(number) # 16 ... or binary 1000

number = 0b101110 >> 4
print(number) # 0b10 ... data is lost as bits shifted right!

Bit logic

# ... perform 'and' operation bit-by-bit
number = 64 & 8    # ie: number = 0b1000000 & 0b1000 ... result 0
number = 78 & 8    # ie: number = 0b1001110 & 0b1000 ... result 8
number = 78 & 15   # ie: number = 0b1001110 & 0b1111 ... result 14

# ... perform 'or' operation bit-by-bit
number = 78 | 15   # ie: number = 0b1001110 | 0b1111 ... result 79

# ... perform 'xor' operation bit-by-bit
number = 78 ^ 15   # ie: number = 0b1001110 ^ 0b1111 ... result 65

# ... perform 'not' operation bit-by-bit... check: 2s complement
number = ~78       # ... result -79

Copyright © Paul Baumgarten.