前言:计算机系统中常用的进位数制有二进制、八进制、十进制、十六进制,对于任何一种进位数制,其表示的数都可以写成按权展开的 多项式。
1. 十进制与二进制的相互转换
1.1 十进制转二进制
十进制数转换为二进制数的方法是:
- 整数部分和小数部分分别转换,然后合并
- 以小数点为分隔符,整数部分转换方向为按位从右往左;小数部分转换方向为按位从左往右
- 整数部分转换方法为除2取余;小数部分转换方法为乘2取整
例1:把十进制数175.71875转换为相应的二进制数
整数部分:
算式 | 商 | 余数 |
---|---|---|
175 / 2 | 87 | 1 |
87 / 2 | 43 | 1 |
43 / 2 | 21 | 1 |
21 / 2 | 10 | 1 |
10 / 2 | 5 | 0 |
5 / 2 | 2 | 1 |
2 / 2 | 1 | 0 |
1 / 2 | 0 | 1 |
当算出商为0时,停止计算。将得到的余数部分,依次按照从右往左排列,整数部分为10101111。
小数部分:
算式 | 乘积 |
---|---|
0.71875 * 2 | 1.4375 |
0.4375 * 2 | 0.875 |
0.875 * 2 | 1.75 |
0.75 * 2 | 1.5 |
0.5 * 2 | 1.0 |
当计算出小数部分为0时,停止计算。将得到的乘积部分依次按照从左往右排列小数部分为10111。
即: 17 5 10 = 1010111 1 2 , 0.7187 5 10 = 0.1011 1 2 175.7187 5 10 = 10101111.1011 1 2 \text{即:}175_{10} =10101111_2\text{,}0.71875_{10} = 0.10111_{2} \\ 175.71875_{10} = 10101111.10111_2 即:17510=101011112,0.7187510=0.101112175.7187510=10101111.101112
1.2 二进制转十进制
二进制数转换为十进制数的做法是:将二进制数的每一位数乘以它的权再相加,即可求得对应的十进制数值。
例2:把二进制数100110.101转换成相应的十进制数
10011.1 0 2 = 1 × 2 5 + 0 × 2 4 +