计算机中的数字转换主要涉及二进制、十进制、八进制和十六进制之间的转换。以下是这些转换的基本方法:
二进制转十进制
方法:将二进制数按权展开求和。从右向左,将每一位二进制数乘以2的相应次方,然后将所有结果相加。
示例:将二进制数 `1011.1` 转换为十进制:
```
1011.1B = 1×2^3 + 0×2^2 + 1×2^1 + 1×2^0 + 1×2^-1 = 8 + 0 + 2 + 1 + 0.5 = 11.5D
```
十进制转二进制
整数部分:用被除数反复除以2,除第一次外,每次除以2均取前一次商的整数部分作被除数并依次记下每次的余数。最后将余数倒序排列。
小数部分:用要转换的十进制小数去乘以基数2,将得到的积的整数部分取出,再用2乘余下的小数部分,如此进行,直到积中的小数部分为零或已得到希望的位数为止。将得到的整数部分从左到右排列。
示例:将十进制数 `117.625` 转换为二进制:
整数部分:`117 / 2 = 58` 余 `1`,`58 / 2 = 29` 余 `0`,`29 / 2 = 14` 余 `1`,`14 / 2 = 7` 余 `0`,`7 / 2 = 3` 余 `1`,`3 / 2 = 1` 余 `1`,`1 / 2 = 0` 余 `1`。倒序排列得 `1110101`。
小数部分:`0.625 × 2 = 1.25` 取整数部分 `1`,`0.25 × 2 = 0.5` 取整数部分 `0`,`0.5 × 2 = 1.0` 取整数部分 `1`。顺序排列得 `101`。
结果:`117.625D = 1110101.101B`。
二进制转八进制
方法:将二进制数每3位分成一组,不足3位的在左边补0,然后将每组转换为对应的八进制数。
示例:将二进制数 `1011101` 转换为八进制:
分组:`101 101`。
转换:`101B = 5`,`101B = 5`。
结果:`1011101B = 55D`。
八进制转二进制
方法:将每一位八进制数转换为对应的三位二进制数,不足三位的在左边补0,然后将所有三位二进制数依次排列。
示例:将八进制数 `55` 转换为二进制:
转换:`5B = 11011`,`5B = 11011`。
结果:`55D = 11011B`。
十进制转十六进制
方法:将十进制数除以16,取余数作为十六进制数的最低位,然后将商继续除以16,直到商为零为止。将所得的余数从低位到高位依次排列。
示例:将十进制数 `255` 转换为十六进制:
`255 / 16 = 15` 余 `15`(F),`15 / 16 = 0` 余 `15`(F)。
结果:`255D = FFH`。
十六进制转十进制
方法:将十六进制数按权展开求和。从