1.3 数制间的转换
二进制数和十进制数之间的转换
1.二进制数转换为十进制数
例如:

2.十进制数转换为二进制数
①整数部分的算法:可将十进制数连续除以2,直到商为0,每次所得余数依次是二进制由低位(LSB)到高位(MSB)的各位数字。 除2倒取余
②小数部分的算法:可将十进制小数乘以2,所得乘积的整数部分即为对应二进制小数最高位的值;将上次所得乘积的小数部分再乘以2,所得乘积的整数部分即为对应二进制小数次高位的值;重复执行以上操作,直到乘积的小数部分为0或所得小数部分已满足精度要求为止。 乘2顺取整

二进制数与八进制数、十六进制数之间的转换
表1.1 八进制数的二进制编码
八进制数 | 二进制编码 | 八进制数 | 二进制编码 |
---|---|---|---|
0 | 000 | 4 | 100 |
1 | 001 | 5 | 101 |
2 | 010 | 6 | 110 |
3 | 011 | 7 | 111 |
3、二进制数转换为八进制数
由于,所以3位二进制数与1位八进制数有直接对应关系:以小数点为分界线,分别向左和向右每3位看作一组。遇到不足3位时填零补足即可,向左扩展时在高位补0,向右扩展时在低位补0。
例如 :
4、八进制数转换为二进制数
例如:
二进制数与八进制数、十六进制数之间的转换
表1.2 十六进制数的二进制编码
十六进制数 | 二进制编码 | 十六进制数 | 二进制编码 |
---|---|---|---|
0 | 0000 | 8 | 1000 |
1 | 0001 | 9 | 1001 |
2 | 0010 | A | 1010 |
3 | 0011 | B | 1011 |
4 | 0100 | C | 1100 |
5 | 0101 | D | 1101 |
6 | 0110 | E | 1110 |
7 | 0111 | F | 1111 |
5、二进制数转换为十六进制数
由于,所以4位二进制数与1位十六进制数有直接对应关系:以小数点为分界线,分别向左和向右每4位看作一组。遇到不足4位时填零补足即可,向左扩展时在高位补0,向右扩展时在低位补0。
例如 :
6、十六进制数转换为二进制数
例如: