第五课_进制2

前言

感谢网友的提醒,前面一课弄错了,是第四课,这一课才是第五课。这一课主要讲传统进制的转换方法。但是需要说明的是,进制间是不需要转换的,每一种进制本身都是完美的。

一、通过中间进进行转换

需要说明的是,任何进制间都是可以进行相互转换的,但是不常用的一些转起来就比较麻烦,当然,方便一点的方法就是以十进制为中间点进制转换,例如:把八进制转成二进制,可以先把八进制转成十进制,然后把得到的十进制转成二进制。这种方法简单,但是步骤比较多。

根据上面所说的,可以知道学会任何进制跟十进制的转换,就可以进行任何进制的转换了。

下面是任何进制跟十进制的转换方法:1、十进制转成其他进制:整数部分的转换:要转成几进制,就除几,最后倒取余数;小数部分的转换:要转成几进制,就乘几,最后顺取整。2、其他进制转成十进制:直接把数据按权展开,然后相加。

十进制转成其他进制

整数的十进制转二进制

方法:除2倒取余

例子:135 D = 10000111 B

解释:如下图,将135除以2,得到67,写在下面,余数为1,写在右侧。得到的67还可以被2除,所以再将67除以2,得到33,写在下面,余数为1,写在右侧。以此类推,直到得到的商为0为止。最后将得到的余数从下往上取。

小数部分的十进制转二进制

方法:乘2顺取整

例子:0.125 D = 0.001 B

解释:如下图,将0.125乘以2,得到0.25,把乘积的整数部分写到右侧,然后把乘积0.25的小数部分(注意,一定是小数部分,如果前面的乘积结果整数部分不是0,要把整数部分去掉)继续乘以2,得到0.5,把乘积的整数部分写到右侧,然后把乘积0.5的小数部分继续乘以2,得到1,没有小数部分,结束转换。最后把得到的整数部分从上到下取,就可以得到相应的二进制的小数部分。

整数的十进制转八进制

方法:除8倒取余

例子:150 D = 226 O

解释:如下图,将150除以8,得到18,写在下面,余数为6,写在右侧;商不为0,继续求解,知道商为0才结束。最后把得到的余数从下往上取。得到八进制的226

其他进制转成十进制

整数的二进制转十进制

​方法:将二进制数据按权展开,然后相加。

例子:10010110 B = 150 D

解释:如下图,将10010110按权展开,从右边算起,第一位是20次方,第二位是21次方,依次指数递增。最后相加,得到的结果就是十进制数。

小数部分的二进制转十进制

方法:将二进制数按权展开(注意权值,小数点后面第一位是2的-1次方,不是0次方),然后相加。

例子:0.1011 B = 0.6875 D

解释:如下图,将0.1011按权展开,小数点后面第一位是2-1次方,第二位是2-2次方,依此类推。最后把各部分相加,就可得到相应的十进数。

其他进制就不一一讲了,因为很简单,只要将幂的底数换成相应的进制数就可以了,例如八进制就换成8,十六进制就换成16

 

二、不通过中间进进行转换

下面说一些不通过中间进制就直接转换的方法。

二进制转八进制

方法:每3位二进制数按权展开,然后相加得到一位八进制数。说明:3位二进制数对应一位八进制数(注意:取3位时是从右向左取,如果最左侧的二进制数不够3位,在前面补0

例子:10010110 B = 226 O

解释:如下图,先将10010110按3位来分,从右向左分,如果最左边不够3位,前面补零。我们分成了0100101103个,然后这3个数按权展开,然后相加,得到3个八进制数位,最后把这3个数拼接成一个八进制数。

八进制转二进制

方法:对每一个八进制数位对应3个二进制数位。所以对每一个八进制数位除以2倒取余数,倒取余数不够3位的,在前面补0,最后把他们拼接,就得到相应的二进制数。

例子:226 O = 10010110 B

解释:如下图,将每个八进制位都除以2取余数,直到商为0,才倒取余数,得到该八进制位所对应的二进制数,如果二进制数不够3位,就在前面补0。全部八进制位都求出对应的二进制数后,拼接起来,得到最后的二进制数。

 

其他的就不说了,例如:二进制和十六进制之间的转换就不说了,原理是差不多的,只是一个十六进制位对应4个二进制位而已。

 

后言

其实这种传统的进制间的转换是没什么必要的,但是我们有时候考试的时候会遇到,所以讲讲。

 

写于2020.2.17 22:21

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值