原创
https://shimo.im/docs/HqYQyGGxrDKpqT8Q/ 《数制转换》,可复制链接后用石墨文档 App 或小程序打开---带图
一、各种进制转换为十进制
规则:按位 加权 求和(将各位对应的系数与所对应的权相乘再求和)
eg.
(101.11)2 指二进制数101.11
(372.01)8 指八进制数372.01
(2A. 7F)16 指十六进制数2A. 7F 即下角标表示是几进制数
二、十进制转换为其它进制
(1)十进制---->二进制
l 整数部分的转换: 除基取余, 逆序排列 除到商为0时停止(除法定义类似C,整数相除,商只看整数部分) 基 指的是转换目标的进制数
eg. (41)10 = ( )2
l 小数部分的转换: 乘基取整, 顺序排列 取整指 取整数部分
eg. (0.39)10 = ( )2+e 转换时通常会对转换后的位数做一个规定,如果没有位数的限制,转换完成的标志是乘到小数部分为0
在下标处加一个e代表本次转换存在一定的转换误差
(2)十进制---> 任意进制
整数部分采用基数(R)除法, 即 除基(R)取余, 逆序排列;
小数部分采用基数(R)乘法, 即 乘基(R)取整, 顺序排列.
eg.将(153.8125)10 转换为八进制数
(153.8125)10 = ( )8
三、二进制与八进制之间的转换
(1)二进制-->八进制
把二进制数从小数点开始分别向右和向左分成三位一组, 每组便是一位八进制;
若不能正常构成三位一组,则在二进制整数部分高位添0或在小数点低位添0来补足三位一组
eg.(10011101.01)2 = (010 011 101 . 010)2 = (235.2)8
(2)八进制-->二进制
将各八进制数按位展成三位二进制数即可.
eg.(753.4)8 = (111 101 011 . 100)2 = (111101011.1)2
四、二进制与十六进制之间的转换
(1)二进制-->十六进制
把二进制数从小数点开始分别向右和向左分成四位一组, 每组便是一位十六进制数;
若不能正常构成四位一组, 则在二进制整数部分最高位添零或在小数点低位添0来补足四位一组
eg.(1011101000.011)2 = (0010 1110 1000 . 0110)2 = (2E8.6)16
(2)十六进制-->二进制
将各十六进制数按位展成四位二进制数即可
eg.(3FD.B)16 = (0011 1111 1101.1011)2 = (1111111101.1011)2
五、八进制与十六进制之间的转换
通过二进制做中介
即: 八进制-->二进制-->十六进制
十六进制-->二进制-->八进制