进制转换
进制转换
进制特点
在学习四种进制转换之前先了解一下四种进制的特点
十进制:
十进制是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、十进制转二进制
(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、二进制转十进制
方法:把二进制数按权展开、相加即得十进制数。
例题: 1001 0110B = ______ D
如下图所示,答案为150D
例题: 26Q = ______ D
如下图所示,答案为22D
例题: 23daH = ______ D
如下图所示,答案为9178D
3、二进制转八进制、十六进制
方法:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。
同理,二进制转十六进制时, 4位二进制数按权展开相加得到1位十六进制数,不足四位补0。
4、八进制转二进制
方法:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。
同理,十六进制转二进制也是一样的方法
二、小数转换
1、十进制转二进制
方法:十进制小数转换成二进制小数采用“乘二取整,顺序输出”
例题: 0.618D = ______ B(精确到小数点后3位)
如下所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到达到题目要求精度。
得到结果:0.101B.
同理十进制转八进制、十六进制也是一样的做法,大家可以尝试做一下例题,熟悉掌握计算流程
例题:10.68D = ______ Q(精确到小数点后3位)
25.68D = ______ H(精确到小数点后3位)
答案:12.534Q. 19.ae1H
注意:小数进制转换有误差,并不是任何一个十进制小数都能转成有限为的二进制数
2、二进制转十进制
方法:把二进制数按权展开、相加即得十进制数。(具体操作如下)
小数转换跟普通转换类似,小数点后幂次就变成了负的。
参考文献:
爱躺平的威威:https://blog.csdn.net/weixin_53564801/article/details/123665194