Python各进制间的转换
表示各进制的符号: b:二进制,o:八进制,d:十进制,x:十六进制 bin()、oct()、hex()返回值均为字符串,且分别带有0b、0o、0x前缀。 1、十进制转二进制
bin(10)
'0b1010''{0:b}'.format(10)
'1010'这两种方法返回的都是二进制的字符串表示。 对十进制数直接转二进制
list1 = []
if num <= 1 and num >= 0:
print "二进制:%d" %(num)
else :
while num > 1 :
(str(num % 2))
num /= 2
(str(num))
()2、十进制转八进制
oct(12)
'014'
'{0:o}'.format(12)
'14'3、十进制转十六进制
hex(12)
'0xc'
'{0:x}'.format(12)
'c'4、二进制转十进制
int('1010',2)
10eval('0b10')
2int(string_num, n): string_num:进制的字符串表示 n:表示string_num是多少进制的数 5、八进制转十进制
int('014',8)
12
'{0:d}'.format(014)
'12'eval('0o10')
86、十六进制转十进制
'{0:d}'.format(0xc)
'12'
int('0xc',16)
12
eval('0x10')
16注意: hex函数比格式化字符串函数format慢,不推荐使用。 eval函数比int函数慢,不推荐使用。
二进制、十六进制、八进制之间的转换,可以借助十进制这个中间值,即先转十进制再转其他进制,也可以直接使用函数进行转换。如: 十六进制转二进制:
借助十进制
bin(int('fc',16))
'0b11111100'利用函数直接转
bin(0xa)
'0b1010'
oct(0xa)
'012'
hex(10)
'0xa'