计算机基础之进制之间的转化

进制概念

今天我们来复习一下进制之间的转换,首先我们先来了解一下什么是进制?进制也就是人们规定的一种进位的方法,比如二进制就是逢二进一,也就是说0,1之后就该进位,然后就是10,11,再次进位100,以此类推;十进制就是逢十进一,也就是说0-9之后就该进位了变成10,以此类推;其余的进位方法以此类推,x进制就是逢x位进一

常见的进制

那么我们常见的进制有那些呢?主要有以下四个:

  1. 二进制 Binary
  2. 八进制 Octal
  3. 十进制 Decimal
  4. 十六进制 Hexadecima

那么他们的转化关系一般是怎么样的呢?如下图所示:
在这里插入图片描述
下图表示一些简单数字的对应关系,这个不用记住,了解一下就行了。
在这里插入图片描述
接下来我们就来了解一下进制之间是怎么转化的。

其余进制转十进制

首先是最简单的其余进制转十进制,这里要先给大家复习一个概念:,例如十进制数 111,三个“1”放在不同的位置,所代表的意义也不同。从左到右分别为 100,10,1。还可以表示为:1×10^2, 1×10^1, 1×10^0。 这里面10^x 就叫做权,二进制则为2^x ,八进制为8^x,以此类推。

好了,了解了权之后,转化就简单了,就是将权的值相加,结果就是十进制的值。

比如(10011)B转化成十进制,这里"()x" 括号里面的值就是进制的值,x就是表示进制,这里就是将二进制的值转化为十进制,转化如下:
1 * 2^4 + 0 * 2^3 + 0 * 2^2 + 1 * 2^1 + 1 * 2^0 = 19
所以: (10011)B = (19)D

再比如(114)O转化为十进制,将八进制的值转化为十进制,转化如下:
1 * 8^2 + 1 * 8^1 + 4 * 8^0 = 76
所以: (114)O = (76)D

根据以上做法,其余进制转十进制都是这样操作,这个很简单吧,是不是没有大家想的那么难,好了接下来我们复习下,十进制转其余进制

十进制转其余进制

十进制转其余进制其实也很简单:整数部分,对X短除取余倒序;小数部分,与X相乘取整正序
接下来我们用例子来说明,(15.25)D转化为二进制,转化如下:
整数部分:
在这里插入图片描述
所以整数部分表示为:1111

小数部分:
0.25 * 2 = 0.5,取整数部分为0,小数部分为5,继续计算
0.5 * 2 = 1,取整数部分为1,小数部分为0,结束计算
所以小数部分表示为:01

最终(15.5)D = (1111.01)B,这样感觉还是挺简单的是吧,我们再来一个例子。

(105)D转化为十六进制,转化如下:
在这里插入图片描述
所以(105)D = (69)H,所以转化方法以此类推,基本上核心的转化:其余进制转十进制,和十进制转其余进制,大家都应该理解了,了解了规律了,都是很简单的,接下来再介绍其余几种转化。

二进制转八、十六进制

二进制转八进制方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位
比如说:(1100101)B转化为八进制:
先看最后三位101按权相加:1 * 2^2 + 1 * 2^0 = 5
再看中间三位100按权相加: 1 * 2^2 = 4
再看第一位为1,因为不满足三位,所以前面凑两个零为001按权相加:1 * 2^0 = 1
所以最后转化为的八进制为:145

二进制转十六进制方法:取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。
比如说:(1011011.01)B转化为十六进制:
先看小数部分:只有两位01,所以在最后添加两个零变为0100,然后按权相加:1 * 2^2 = 4
再看整数部分后四位:1011按权相加:1 * 2^3 + 1 * 2^1 + 1* 2^0 = b
最后看前面只有三位101,所以在前面添加0变为0101,按权相加:1 * 2^2 + 1 * 2^0 =5
所以最后转化为的十六进制为:5b.4

八进制与十六进制互转

八进制和十六进制的转化一般我们都是把进制转化为二进制,然后再转化为我们想要的那个进制,比如说我们想把八进制转化为十六进制,先将八进制转换为二进制,然后再将二进制转换为十六进制,小数点位置不变。这个我就不举例子了,大家可以参考一下上面的例子。

总结

所以进制之间的转化还是比较简单的,只要大家掌握了相应的诀窍,总结如下:
1、十进制转其它进制:整数部分,对X短除取余倒序;小数部分,与X相乘取整正序

2、其它进制转十进制:就是将权的值相加,结果就是十进制的值

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

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

5、八进制与十六进的互转:先转化为二进制,再转化为想要的进制

  • 17
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值