进制之间的转换

    Python编程 wuya 75次浏览 已收录 0个评论

    今天简单捋一下进制之间的转化。上课老师讲了很多,我总结了一下,有以下几种

    1:十进制转换为其它进制(N进制):

    即为:十进制数字 除以N,去取余,然后再倒序 排列。

    例如:十进制 538,转化为二进制。

    即:

    538/2 =269 余数为 0

    269/2=134 余数为1

    134/2=67余数为0

    67/2=33余数为1

    33/2=16余数为1

    16/2=8余数为0

    8/2=4余数为0

    4/2=2余数为0

    2/2=1余数为0

    还剩1

    即 二进制为:1000 0110 10

    2:其它进制(N)转十进制:

    位数的值  * N的位数减一次方。

    例如

    八进制862转为 十进制:

    即:

    2*8的0次方+6*8的1次方+8*8的2 次方=2+48+ 512=562

    3:二进制转八进制

    方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。

    例:将二进制的(11010111.0100111)B转换为八进制的步骤如下:

    1. 小数点前111 = 7;

    2. 010 = 2;

    3. 11补全为011,011 = 3;

    4. 小数点后010 = 2;

    5. 011 = 3;

    6. 1补全为100,100 = 4;

    八进制转二进制:每一个数转化为3位的二进制数即可,不足的补0,再按顺序排列即可。

    4:二进制转十六进制

    二进制转十六进制和二进制转八进制一样的道理,把二进制数字四个一组拆开,从右到左,不足的0补全。

    然后用二进制转十进制的方法进行操作。

    例如:

    10101101

    分为:

    1010-1101

    则:

    1010=10

    1101=13

    十进制=1013

    十六进制转二进制:每一个数转化为4位的二进制数即可,不足的补0,再按顺序排列即可。

    5:八进制转十六进制 和十六进制转八进制

    先转为二进制,然后在转为其它进制。

    总结:

    十进制转其它,需要除以进制数,取余倒叙排列。

    其它进制转十进制,需要按其位数的数字,乘以进制数的 位数减一次方。

    例如

    123=1*10 的平方+2*10+3*0

    二进制转八进制。二进制转十六进制, 分别把二进制分为 三个一组,或者四个一组,组内分别把按二进制转10进制的方法去转换。组合即可。

    八进制,十六进制转二级制,把每个数转为二进制,八进制是三位一起,十六进制是四位一起。不足的补零,然后拼接一起。


    学海无涯 , 版权所有丨如未注明 , 均为原创丨转载请注明进制之间的转换
    喜欢 (0)
    发表我的评论
    取消评论
    表情 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址