【信奥赛·计算机基础】CSP-J 二进制、八进制、十进制、十六进制的转换

序言

提到进制转换,我们就要想到逢几进一,比如二进制是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一,记住这个,非常有助于你理解和转换。另外,所有进制往十进制的转换就是用位权法,而十进制往其它进制的转换都是用短除法。

二进制与十进制转换

二进制中的数有:0、1

二进制与十进制数的对应关系,如图

二进制十进制
00
11
102
113
1004
1015
1106
1117
10008
10019
  • 二进制转十进制
    • 位权法: 就是将要转换的二进制从右往左,依次用当前位置的数乘当前进制的幂次方,并将结果相加,得到的和即十进制结果
二进制计算方法十进制
10111*2^3+1*2^1+1*2^011
1011*2^2+1*2^05

为了让这个计算方法更直观,可以观察下面这个图中的计算方法:
二进制1011转十进制

  • 十进制转二进制

    • 短除法:就是将要转换的十进制除以2,得到商和余数,得到的商如果不为0,则继续除以2,直到商为0,此时,将余数从以往上读出来,就是要转换的二进制,如以示例
    十进制计算方法二进制
    5十进制5转二进制101
    11十进制11转二进制1011

八进制与十进制转换

八进制中的数有:0、1、2、3、4、5、6、7

八进制与十进制数的对应关系,如图

八进制十进制
00
11
22
33
44
55
66
77
108
119
  • 八进制转十进制
    • 位权法
八进制计算方法十进制
10121*8^3+1*8^1+2*8^0522
1021*8^2+2*8^066

这里也通过一张图,让这个计算更加的直观
八进制1012转十进制

  • 十进制转八进制
    • 短除法
十进制计算方法八进制
522十进制522转八进制1012
66十进制66转八进制102

十六进制与十进制转换

十六进制中的数有:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
十六进制与十进制数的对应关系,如图

十六进制十进制
00
11
22
33
44
55
66
77
88
99
A10
B11
C12
D13
E14
F15
  • 十六进制转十进制
    位权法:
十六进制计算方法十进制
102A1*16^3+2*16^1+A*16^04138
10A1*16^2+A*8^0266

通过一张图,让位权法更直观
十六进制102A转十进制

  • 十进制转十六进制
十进制计算方法十六进制
4138十六进制4138转十进制102A
266十六进制266转十进制10A

到这里,你已经学会了所有进制之间的转换了,如果你想要二进制转八进制,或者二进制转十六进制怎么办呢?对,没错,就是你想到的,先转成十进制,然后再转成目标进制,但是这里有一个小技巧,如果是二进制转八进制,则将二进制的数,从右往左,每三个为一组,转换成十进制,最后将每组拼接起来就是八进制数据了;如果是二进制转十六进制,则将二进制的数,从右往左,每四个为一组,转成十进制,最后将每组拼接起来就是十六进制的数据了。

简单吧,我们来试着做一下:

  • 将二进制10110转成八进制
  1. 先将二进制数据分组:10 110,不足三位怎么办?可以补0,得到 010 110,也可以不用管
  2. 110 使用位权法转成十进制,得到结果为:6
  3. 10 使用位权法转成十进制,得到结果为:2
  4. 最后,拼接起来,得到结果为:26
  5. 所以,10110(2) = 26(8)
  • 将二进制101101转成十六进制
  1. 先将二进制数据分级:10 1101,不足四位怎么办,可以补0得到 0010 1101,也可以不用管
  2. 1101 使用位权法转成十进制,得到结果为 13,根据十进制与十六进制的对应关系可知,对应的十六进制数为 D
  3. 0010 使用位权法转成十进制,得到的结果为 2
  4. 最后,拼接起来,得到结果为:2D
  5. 所以,101101(2)=2D(16)

好了,到这里,咱们的整个进制转换全部学完了,如果你身边啊正好有一个单片机,正好呢还配了一个LCD1602的显示屏,你就可以用咱们刚刚学到的进制转换来操控这块屏幕了。这里有篇关于阅读LCD1602数据手册的文章,里面提到的写指令,写数据就是用二进制转十六进制完成的,点这里 用STC89C52点亮你的LCD1602A显示屏 查看文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值