python中各个进制数据的表示

python中各个进制数据的表示

a = 23  # 默认的数字都是表示十进制
print(a)
a = 0b10111 # 以0b开头的数字表示二进制
print(a)
a = 0o27   # 以0o开头的数字表示八进制
print(a)
a = 0x17  #  以0x开头的数字表示十六进制
print(a)

默认打印出来的数据都是十进制。

可以利用英文字母“box”进行记忆

进制之间的相互转化

十进制转化为二进制

拿到一个十进制的数据,我们将它一直除以2,一直到商为0,将过程中得到的余数逆排,就得到二进制的表示方式了。

简记为“正向除2,逆向取余”。

例如:十进制数23

在这里插入图片描述

二进制转化为十进制

用二进制的位对应相乘1 2 4 8 16…,也就是2的n-1次方,以10111为例:

在这里插入图片描述

二进制转化为八进制

将二进制的位三个位分为一组,缺位补0,每一组按照二进制转化为十进制的方法,最后按次序写出,就得到八进制数据。例如:10111

在这里插入图片描述

将二进制转化为十六进制

原理同八进制,将二进制的为四位分为一组,缺位补0,然后按照二进制转化为十进制的方法依次写出,例如10111

在这里插入图片描述

用代码进行位制转换

以上是进制转换的原理,手算未免太累,这个过程在python中可以利用代码进行实现。

a = 23
print(bin(a))  # 转化为二进制
print(oct(a))  # 转化为八进制
print(hex(a))  # 转化为十六进制

猜你喜欢

转载自blog.csdn.net/deyaokong/article/details/108749522