一、进制的概念
十进制:我们日常生活中使用的进制,有0-9十个数字,逢十进一。
二进制:计算机内部使用的进制,只有0和1两个数字,逢二进一。
八进制:曾经在计算机中常用,有0-7八个数字,逢八进一。
十六进制:在计算机中广泛使用,有0-9和A-F(或a-f)十六个数字,其中A-F表示10-15,逢十六进一。
二、进制转换方法
其他进制转换为十进制
方法:按权展开,求和
对于一个N进制的数,从右往左(从低位到高位),第i位(i从0开始)的权值为Ni,将该位数字乘以对应的权值,然后全部相加即可得到十进制数。
示例1:二进制转十进制
将二进制数(1101.01)₂转换为十进制。
整数部分:1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 8 + 4 + 0 + 1 = 13
小数部分:0×2⁻¹ + 1×2⁻² = 0 + 0.25 = 0.25
所以,(1101.01)₂ = 13.25
示例2:十六进制转十进制
将十六进制数(2A.3)₁₆转换为十进制。
整数部分:2×16¹ + A×16⁰ = 2×16 + 10×1 = 32 + 10 = 42
小数部分:3×16⁻¹ = 3×0.0625 = 0.1875
所以,(2A.3)₁₆ = 42.1875
十进制转换为其他进制
十进制转换为其他进制时,需要将整数部分和小数部分分开处理。
整数部分:除基取余,逆序排列
用目标基数不断去除十进制整数,记下每次的余数,直到商为0,然后将余数逆序排列(最先得到的余数放在最低位)。
小数部分:乘基取整,顺序排列
用目标基数去乘十进制小数,记下每次乘积的整数部分(作为转换后的一位),然后将小数部分继续乘以基数,直到小数部分为0或达到所需精度。将取得的整数部分顺序排列(最先得到的整数放在最高位)。
示例:将十进制数25.375转换为二进制。
整数部分:25
25 ÷ 2 = 12 ... 1
12 ÷ 2 = 6 ... 0
6 ÷ 2 = 3 ... 0
3 ÷ 2 = 1 ... 1
1 ÷ 2 = 0 ... 1
逆序排列:11001,所以整数部分为(11001)₂。
小数部分:0.375
0.375 × 2 = 0.75 → 整数部分0,小数部分0.75
0.75 × 2 = 1.5 → 整数部分1,小数部分0.5
0.5 × 2 = 1.0 → 整数部分1,小数部分0.0
顺序排列:011,所以小数部分为(.011)₂。
因此,25.375 = (11001.011)₂。
注意:
如果题目要求将两个非十进制进行转换(如二进制转十六进制、八进制转十六进制),可以先转为十进制,再转为目标进制。