Python中进制的转换
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'
注:有错误欢迎提出。谢谢!