python间进制转换(二进制、八进制、十进制,十六进制)
在python中可以使用Python的内置函数进行进制间的转换。
bin():其他进制转二进制 oct():其他进制转八进制 int():其他进制转十进制 hex():其他进制转十六进制
二进制、八进制、十六进制的形式
二进制:以“0b”开头,如:0b111为十进制的7 八进制:以“0”开头,如:026为十进制的22 十六进制:以“0x”开头,如:0x1f为十进制的31
二进制、八进制、十六进制对照表
-------------------------------------------------------------------------------------------------------------------------------------------- | 十进制| 二进制 | 八进制 | 十六进制 | * | 十进制 | 二进制 | 八进制 | 十六进制 | | 00 | 0b0000 | 000 | 0x0 | * | 08 | 0b1000 | 010 | 0x8 | | 01 | 0b0001 | 001 | 0x1 | * | 09 | 0b1001 | 011 | 0x9 | | 02 | 0b0010 | 002 | 0x2 | * | 10 | 0b1010 | 012 | 0xa | | 03 | 0b0011 | 003 | 0x3 | * | 11 | 0b1011 | 013 | 0xb | | 04 | 0b0100 | 004 | 0x4 | * | 12 | 0b1100 | 014 | 0xc | | 05 | 0b0101 | 005 | 0x5 | * | 13 | 0b1101 | 015 | 0xd | | 06 | 0b0110 | 006 | 0x6 | * | 14 | 0b1110 | 016 | 0xe | | 07 | 0b0111 | 007 | 0x7 | * | 15 | 0b1111 | 017 | 0xf | --------------------------------------------------------------------------------------------------------------------------------------------
二进制、八进制、十六进制转十进制
使用int()函数,第一个参数是要转换的数字,类型为字符串,第二个参数是该数几进制的数,转化结果为一个十进制的数。
二进制转十进制: >>> int('0b1111',2) 15 八进制转十进制: >>> int('67',8) 55 十六进制转十进制: >>> int('0x1f',16) 31
八进制、十进制、十六进制转二进制
使用bin()函数,需要先将八进制、十六进制转换为十进制,然后才能转换为二进制,即八进制/十六进制 ---> 十进制 ---> 二进制
八进制转二进制: >>> bin(int('016',8)) '0b1110' 十进制转二进制: >>> bin(14) '0b1110' 十六进制转二进制: >>> bin(int('0xe',16)) '0b1110'
二进制、十进制、十六进制转八进制:
使用oct()函数可以直接进行进制的转换
二进制转八进制: >>> oct(0b1110) '016' 十进制转八进制: >>> oct(14) '016' 十六进制转八进制: >>> oct(0xe) '016'
二进制、八进制、十进制转十六进制:
使用hex()函数,需要先将二进制、八进制转换为十进制,然后才能转换为十六进制,即二进制/八进制 ---> 十进制 ---> 十六进制
二进制转十六进制: >>> hex(int('0b1110',2)) '0xe' 八进制转十六进制: >>> hex(int('016',8)) '0xe' 十进制转十六进制: >>> hex(14) '0xe'