3.1. Math Base

3.1.1. Binary

  • Base 2

  • Allowed: 0, 1

  • Prefix: 0b...

data = 0b1000101
print(data)
69
int('0b1000101', base=2)
69

int('1000101', base=2)
69
bin(69)
'0b1000101'
int(1000101, base=2)
Traceback (most recent call last):
TypeError: int() can't convert non-string with explicit base

bin('69')
Traceback (most recent call last):
TypeError: 'str' object cannot be interpreted as an integer

3.1.2. Octal

  • Base 8

  • Allowed: 0, 1, 2, 3, 4, 5, 6, 7

  • Prefix: 0o...

data = 0o105
print(data)
69
int('0o105', base=8)
69

int('105', base=8)
69
oct(69)
'0o105'
int(0o105, base=8)
Traceback (most recent call last):
TypeError: int() can't convert non-string with explicit base

int(105, base=8)
Traceback (most recent call last):
TypeError: int() can't convert non-string with explicit base

3.1.3. Decimal

  • Base 10

  • Allowed: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

data = 69
print(data)
69
int('69', base=10)
69
int(69, base=10)
Traceback (most recent call last):
TypeError: int() can't convert non-string with explicit base

3.1.4. Hexadecimal

  • Base 16

  • Allowed: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, A, B, C, D, E, F

  • Prefix: 0x...

data = 0x45
print(data)
69
int('45', base=16)
69

int('0x45', base=16)
69
hex(69)
'0x45'

Other examples:

int('100', base=16)
256

int('0x69', base=16)
105

int('0x3C', base=16)
60

3.1.5. Errors

data = 'abc'

int(data, base=10)
Traceback (most recent call last):
ValueError: invalid literal for int() with base 10: 'abc'


int(data, base=16)
2748

import string
string.hexdigits
'0123456789abcdefABCDEF'

3.1.6. Assignments