python 进制转换 int、bin、oct、hex的原理

1. int转换

在Python中,可以使用int()函数来将不同进制的数转换为十进制数。int()函数接受两个参数,第一个参数是需要转换的数,第二个参数是表示进制的参数,默认为10。

int()函数的原理是根据所给定的进制将数值转换为对应的十进制数。它从给定的数值的最右边开始,将每一位的数字乘以进制的幂,然后将所有结果相加,得到最终的十进制数。

下面是一个例子,将二进制数1101转换为十进制数:

num = '1101'

decimal = int(num, 2)

print(decimal)

输出结果为13,说明1101转换为十进制数是13。

2. bin转换

在Python中,可以使用bin()函数将十进制数转换为二进制数。bin()函数接受一个参数,即需要转换的十进制数。

bin()函数的原理是使用除2取余法,将给定的十进制数不断地除以2,得到的余数依次排列,直到商为0为止。最后将所有余数倒序排列,得到最终的二进制数。

下面是一个例子,将十进制数13转换为二进制数:

decimal = 13

binary = bin(decimal)

print(binary)

输出结果为0b1101,说明13转换为二进制数是1101。

3. oct转换

在Python中,可以使用oct()函数将十进制数转换为八进制数。oct()函数接受一个参数,即需要转换的十进制数。

oct()函数的原理是使用除8取余法,将给定的十进制数不断地除以8,得到的余数依次排列,直到商为0为止。最后将所有余数倒序排列,得到最终的八进制数。

下面是一个例子,将十进制数13转换为八进制数:

decimal = 13

octal = oct(decimal)

print(octal)

输出结果为0o15,说明13转换为八进制数是15。

4. hex转换

在Python中,可以使用hex()函数将十进制数转换为十六进制数。hex()函数接受一个参数,即需要转换的十进制数。

hex()函数的原理是使用除16取余法,将给定的十进制数不断地除以16,得到的余数依次排列,直到商为0为止。对于余数大于9的情况,使用字母A-F表示,分别对应10-15。

下面是一个例子,将十进制数13转换为十六进制数:

decimal = 13

hexadecimal = hex(decimal)

print(hexadecimal)

输出结果为0xd,说明13转换为十六进制数是d。

总结

本文介绍了Python中int、bin、oct和hex函数的原理和使用方法。int函数可以将不同进制的数转换为十进制数,bin函数可以将十进制数转换为二进制数,oct函数可以将十进制数转换为八进制数,hex函数可以将十进制数转换为十六进制数。通过了解这些函数的原理,我们可以灵活地进行数值的进制转换。

后端开发标签