📜  十进制转换python(1)

📅  最后修改于: 2023-12-03 15:37:02.505000             🧑  作者: Mango

十进制转换 Python

在计算机科学中,十进制是一种使用10个数字(0-9)中的每个数字来计数的数字系统。然而,在计算机科学中,还存在其他数字系统,如二进制、八进制和十六进制。

在 Python 中,我们可以使用内置函数将一个数字从一种进制转换为另一种进制。本文将介绍如何在 Python 中进行十进制转换。

十进制转二进制

将一个十进制整数转换为二进制,可以使用 bin() 函数。

num = 10
binary = bin(num)

print(binary)
# 输出:0b1010

上述代码将10转换为二进制,输出结果为 '0b1010',其中 '0b' 表示二进制。

十进制转八进制

将一个十进制整数转换为八进制,可以使用 oct() 函数。

num = 10
octal = oct(num)

print(octal)
# 输出:0o12

上述代码将10转换为八进制,输出结果为 '0o12',其中 '0o' 表示八进制。

十进制转十六进制

将一个十进制整数转换为十六进制,可以使用 hex() 函数。

num = 10
hexadecimal = hex(num)

print(hexadecimal)
# 输出:0xa

上述代码将10转换为十六进制,输出结果为 '0xa'。

自定义进制转换

如果需要将一个数字从十进制转换为自定义进制,可以使用以下函数:

def baseConversion(num, base):
    if num < 0 or base < 2 or base > 36:
        return ''

    digits = '0123456789abcdefghijklmnopqrstuvwxyz'

    res = ''
    while num > 0:
        res = digits[num % base] + res
        num //= base

    return res

上述函数可以将一个十进制整数转换为任意进制(2到36),并返回对应进制的字符串。

num = 10
base = 2
result = baseConversion(num, base)
print(result)
# 输出:1010

上述代码将10转换为二进制,输出结果为 '1010'。

num = 10
base = 16
result = baseConversion(num, base)
print(result)
# 输出:a

上述代码将10转换为十六进制,输出结果为 'a'。

总之,Python提供了简单易用的内置函数来方便地进行十进制转换,同时我们还可以自定义函数来实现其他进制的转换。