Python二级中的进制转换:看这一篇就够了

发布时间:2024年01月18日

在计算机中,不同的进制之间的转换是常见的问题,也是令很多朋友比较头疼的问题,这种题虽然在Python二级中分不多,有时甚至还不会出,但是必须要掌握它们,以备不时之需。

这里详细介绍如何在二进制、八进制、十六进制与十进制之间进行相互转换。

一、二进制、八进制、十六进制转换为十进制

R进制数转换为十进制数的方法是“按权展开”法,即从右至左,每一位上的数值乘以R的指数权重,不同进制的权重是不同的(二进制是2的幂,八进制是8的幂,十六进制是16的幂)。如:

1. 二进制转十进制:

方法:从右向左,将每个位的数值乘以2的指数(从0开始递增),然后将这些乘积相加。

因此,二进制?1011?对应的十进制数是11。

2.?八进制转十进制:

方法:从右向左,将每个位的数值乘以8的指数(从0开始递增),然后将这些乘积相加。

??????因此,八进制?347 对应的十进制数是?231。

3. 十六进制转十进制:

方法:从右向左,将每个位的数值乘以16的指数(从00开始递增),然后将这些乘积相加。十六进制数中的字母表示数值(如:A=10, B=11, C=12, D=13, E=14, F=15)。

因此,十六进制?1A3 对应的十进制数是419。

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

十进制转化为R进制的方法是“除R取余”法。即将十进制数不断除以R,记录一下每次除数的余数,然后将这些余数倒序排列。

1. 十进制转二进制:

方法:将十进制数不断除以2,记录下每次除法的余数,然后将这些余数倒序排列。

因此,十进制 1313 对应的二进制数是 11011101。

2.?十进制转八进制:

方法:将十进制数不断除以8,记录下每次除法的余数,然后将这些余数倒序排列。

因此,十进制?95 对应的八进制数是137。

3.?十进制转十六进制:

方法:将十进制数不断除以16,记录下每次除法的余数,然后将这些余数倒序排列。对于大于
9的余数,使用对应的十六进制字母(如:10=A, 11=B, 12=C, 13=D, 14=E, 15=F)。

因此,十进制2748 对应的十六进制数是?ABC。

三、二进制、八进制和十六进制的互转

方法:为减少转化方法的记忆负担,可先把非十进制数转化为十进制,再转为其它进制。

如二进制转十六进制,可以先把二进制转化为十进制,再把十进制数转化为十六进制数。

四、学后总结


以上这些转化方法都是基于权重的概念,即每个位上的数代表的是其值乘以其位置的权重。在不同的进制中,权重是不同的(二进制是2的幂,八进制是8的幂,十六进制是16的幂)。通过这些方法,可以将任何一个进制的数转换为另一个进制的数。

文章来源:https://blog.csdn.net/henanlion/article/details/135664403
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。