在学习四种进制转换之前先了解一下自种进制的特点
十进制:
- 十进制是Decimal,简写为D
- 都是以0-9这九个数字组成。
二进制:
- 二进制是Binary,简写为B
- 由0和1两个数字组成。
八进制:
- 八进制是Octal,简写为O
- 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。
十六进制:
- 十六进制为Hexadecimal,简写为H
- 表示方式为0x开头
- 计数到F后,再增加1个,就进位。
- 由0-9和A-F组成,英文字母A,B,C,D,E,F分别表示数字10~15。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
接下来开始讲解二进制、八进制、十进制、十六进制之间的相互转换(包括整数和小数)
一、整数转换
1、十进制转R进制
(1)十进制转二进制的原理:十进制数除以2,余数为权位上的数,得到商继续除以2,直到商为0终止,然后反向取余数。
具体实现:
例如(67)10→ (1000011)2
将67除以2得商33,余数1。将商(33)作为第二次的被除数一次类推,直到商为0.
(2)十进制转八、十六进制的原理:跟十转二原理一样,十进制数除以8/16,余数为权位上的数,得到商继续除以8/16,直到商为0终止,然后反向取余数。
具体实现:
例758(十进制)→ 1366(八进制) 951(十进制)→ 3B7(十六进制)
步骤跟十进制转二进制一样。
2、R进制转十进制
方法:把R进制数按权展开、相加即得十进制数。
例题: 1001 0110B = ______ D
如下图所示,答案为150D
例题: 26Q = ______ D
如下图所示,答案为22D
例题: 23daH = ______ D
如下图所示,答案为9178D
3、二进制转八进制、十六进制
方法:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。
同理,二进制转十六进制时, 4位二进制数按权展开相加得到1位十六进制数,不足四位补0。
4、八进制转二进制
方法:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。
同理,十六进制转二进制也是一样的方法
二、小数转换
1、十进制转R进制
方法:十进制小数转换成R进制小数采用“乘R取整,顺序输出”
例题: 0.618D = ______ B(精确到小数点后3位)
如下所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到达到题目要求精度。
得到结果:0.101B.
同理十进制转八进制、十六进制也是一样的做法,大家可以尝试做一下例题,熟悉掌握计算流程
例题:10.68D = ______ Q(精确到小数点后3位)
25.68D = ______ H(精确到小数点后3位)
答案:12.534Q. 19.ae1H
注意:小数进制转换有误差,并不是任何一个十进制小数都能转成有限为的R进制数
2、R进制转十进制
方法:把R进制数按权展开、相加即得十进制数。(具体操作如下)
小数转换跟普通转换类似,小数点后幂次就变成了负的。
以上就是常用的进制转换,有错误的地方希望大家能批评指正,别忘了点赞👍+收藏⭐️哦