常用进制: 二进制(Binary)、八进制(Octal)、十进制(Decimal)、十六进制(Hexadecimal)。
进制之间关系图:

二进制、八进制、十六进制转十进制
| 1 | int('0b11010',2) | 
八进制、十进制、十六进制转二进制
八进制、十六进制不能直接转成二进制,需要先转十进制。
| 1 | bin(26) | 
二进制、十进制、十六进制转八进制
同样,二进制、十六进制不能直接转成八进制,需要先转十进制。
| 1 | oct(26) | 
二进制、十进制、八进制转十六进制
同样,二进制、八进制不能直接转成十六进制,需要先转十进制。
| 1 | hex(26) | 
延伸问题
- 判断一个数是否是2的幂次方,若是,并判断出来是多少次方? - 1 
 2
 3
 4
 5
 6
 7- import math 
 def calPowerOf2(num):
 assert num & num-1 == 0, "This number is not power of 2"
 return math.log(num, 2)
 print(calPowerOf2(1024)) # echo 10
- 给定一个数n,求大于等于n的2的最小次幂? - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10- def nextPowerOf2(n): 
 count = 0;
 if n and not (n & (n - 1)):
 return n
 while (n != 0):
 n >>= 1
 count += 1
 return 1 << count
 print(nextPowerOf2(100)) # echo 128-