Bootstrap

Python 中十进制、二进制、八进制和十六进制数值之间的转换

数值的进制转换在编程中有时候会用到,作为高级语言的 Python 自带这个功能,不需要自己去写函数来实现。

接下来我们以十进制数 123456789 为例,实现数值进制之间的转换。

一、十进制转换为其它进制

1. 十进制转二进制

使用 bin() 函数,返回二进制字符串。

>>> decimal = 123456789
>>> binary = bin(decimal)
>>> binary
'0b111010110111100110100010101'

2. 十进制转八进制

使用 oct() 函数,返回八进制字符串。

>>> decimal = 123456789
>>> octal = oct(decimal)
>>> octal
'0o726746425'

3. 十进制转二进制

使用 hex() 函数,返回十六进制字符串。

>>> decimal = 123456789
>>> hexadecimal = hex(decimal)
>>> hexadecimal
'0x75bcd15'

二、其它进制转换为十进制

使用 int(x, base) 函数即可,x表示待转换变量,类型为字符串,base表示x的计数进制。结果返回十进制数值。

1. 二进制转十进制

>>> binary = '0b111010110111100110100010101'
>>> int(binary,2)
123456789

2. 八进制转十进制

>>> octal = '0o726746425'
>>> int(octal,8)
123456789

3. 十六进制转十进制

>>> hexadecimal = '0x75bcd15'
>>> int(hexadecimal,16)
123456789

是不是很有意思?十进制数 123456789 经历各种进制转换,从数值变为字符串,再从字符串变为数值,回到 123456789。这就像人生,最初源自尘土,不管经历什么,贫穷也好,富贵也罢,最终归于尘土。

 

 

 

 

;