Python 进制转换详解

Python 进制转换详解

Python 进制转换详解

在计算机科学中,进制是一种表示数值的方式。我们常见的十进制是以 10 为基数,使用数字 0-9 进行表示。然而,计算机内部使用的是二进制,即以 2 为基数,使用数字 0 和 1 进行表示。在编程中,我们经常需要进行不同进制之间的转换。Python 提供了简便的方法来进行进制转换,本文将详细介绍 Python 中的进制转换方法。

一、十进制转换为二进制

在 Python 中,可以使用 bin() 函数将十进制数转换为二进制数。bin() 函数接受一个十进制整数作为参数,并返回一个以 “0b” 开头的二进制字符串。

下面是一个示例代码,将十进制数 10 转换为二进制数并打印结果:

decimal_number = 10
binary_number = bin(decimal_number)
print(binary_number)

运行结果:

0b1010

可以看到,十进制数 10 被成功转换为了二进制数 1010。

二、二进制转换为十进制

与十进制转换为二进制相反,Python 中可以使用 int() 函数将二进制数转换为十进制数。int() 函数接受一个二进制字符串和一个可选的参数,该参数指定了字符串的基数。对于二进制数,基数应设置为 2。

下面是一个示例代码,将二进制数 “0b1010” 转换为十进制数并打印结果:

binary_number = "0b1010"
decimal_number = int(binary_number, 2)
print(decimal_number)

运行结果:

10

可以看到,二进制数 “0b1010” 被成功转换为了十进制数 10。

三、十进制转换为八进制

在 Python 中,可以使用 oct() 函数将十进制数转换为八进制数。oct() 函数接受一个十进制整数作为参数,并返回一个以 “0o” 开头的八进制字符串。

下面是一个示例代码,将十进制数 10 转换为八进制数并打印结果:

decimal_number = 10
octal_number = oct(decimal_number)
print(octal_number)

运行结果:

0o12

可以看到,十进制数 10 被成功转换为了八进制数 12。

四、八进制转换为十进制

与十进制转换为八进制相反,Python 中可以使用 int() 函数将八进制数转换为十进制数。int() 函数接受一个八进制字符串和一个可选的参数,该参数指定了字符串的基数。对于八进制数,基数应设置为 8。

下面是一个示例代码,将八进制数 “0o12” 转换为十进制数并打印结果:

octal_number = "0o12"
decimal_number = int(octal_number, 8)
print(decimal_number)

运行结果:

10

可以看到,八进制数 “0o12” 被成功转换为了十进制数 10。

五、十进制转换为十六进制

在 Python 中,可以使用 hex() 函数将十进制数转换为十六进制数。hex() 函数接受一个十进制整数作为参数,并返回一个以 “0x” 开头的十六进制字符串。

下面是一个示例代码,将十进制数 10 转换为十六进制数并打印结果:

decimal_number = 10
hexadecimal_number = hex(decimal_number)
print(hexadecimal_number)

运行结果:

0xa

可以看到,十进制数 10 被成功转换为了十六进制数 a。

六、十六进制转换为十进制

与十进制转换为十六进制相反,Python 中可以使用 int() 函数将十六进制数转换为十进制数。int() 函数接受一个十六进制字符串和一个可选的参数,该参数指定了字符串的基数。对于十六进制数,基数应设置为 16。

下面是一个示例代码,将十六进制数 “0xa” 转换为十进制数并打印结果:

hexadecimal_number = "0xa"
decimal_number = int(hexadecimal_number, 16)
print(decimal_number)

运行结果:

10

可以看到,十六进制数 “0xa” 被成功转换为了十进制数 10。

七、进制之间的相互转换

除了以上介绍的进制转换方法外,还可以使用字符串的方法来进行进制转换。Python 中的字符串可以使用 str() 函数将其它进制的数字转换为以字符串形式表示的数字。

下面是一个示例代码,将十进制数 10 转换为二进制、八进制和十六进制,并打印结果:

decimal_number = 10
binary_number = str(bin(decimal_number))[2:]
octal_number = str(oct(decimal_number))[2:]
hexadecimal_number = str(hex(decimal_number))[2:]
print(binary_number)
print(octal_number)
print(hexadecimal_number)

运行结果:

1010
12
a

可以看到,十进制数 10 被成功转换为了二进制数 1010、八进制数 12 和十六进制数 a。

总结

本文介绍了 Python 中的进制转换方法,包括十进制转换为二进制、二进制转换为十进制、十进制转换为八进制、八进制转换为十进制、十进制转换为十六进制以及十六进制转换为十进制。使用这些方法,我们可以方便地在不同进制之间进行转换,为编程提供了更多的灵活性和功能。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程