先了解下十进制

十进制用10个可用符号来表示一个数字: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

示例:看看十进制621

621 (十进制)
6(百位) 2(十位) 1(个位)
6 X 100 2 X 10 1 X 1
6 X 10**2** 2 X 10**1** 1 X 10**0**
600 + 20 + 1 = 621 (十进制)

二、八、十六进制转十进制

二进制转十进制

二进制:用两个可用符号来表示一个数字: 0, 1

示例一:二进制1011转十进制

1011 (二进制)
1 X 2**3** 0 X 2**2** 1 X 2**1** 1 X 2**0**
1 X 8 0 X 4 1 X 2 1 X 1
8 + 0 + 2 + 1 = 11 (十进制)

示例二:二进制1011.110转十进制

1011.110 (二进制)
1 X 2**3** 0 X 2**2** 1 X 2**1** 1 X 2**0** 1 X 2-1 1 X 2-2 0 X 2-3
1 X 8 0 X 4 1 X 2 1 X 1 1 X 0.5 1 X 0.25 0 X 0.125
8 + 0 + 2 + 1 + 0.5 + 0.25 + 0 = 11.75 (十进制)

八进制转十进制

八进制用8个可用符号来表示一个数字: 0, 1, 2, 3, 4, 5, 6, 7
对应十进制: 0, 1, 2, 3, 4, 5, 6, 7(10)

示例一:八进制621转十进制

621 (八进制)
6 X 8**2** 2 X 8**1** 1 X 8**0**
6 X 64 2 X 8 1 X 1
384 + 16 + 1 = 401 (十进制)

示例二:八进制621.21转十进制

621
6 X 8**2** 2 X 8**1** 1 X 8**0** 2 X 8**-1** 1 X 8**-2**
6 X 64 2 X 8 1 X 1 2 X 0.125 1 X 0.015625
384 + 16 + 1 + 0.25 + 0.015625 = 401.265625

十六进制转十进制

十六进制用16个可用符号来表示一个数字: 0,1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
对应十进制: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

示例:十六进制2AE转十进制

2AE (十六进制)
2 X 16**2** 10 X 16**1** 14 X 16**0**
2 X 256 10 X 16 14 X 1
512 + 160 + 14 = 686 (十进制)

十进制转二、八、十六

转换方法:
整数部分:除基取余
小数部分:乘基取余

十进制转二进制

示例一:十进制621转二进制
621 / 2 = 310 余 1
310 / 2 = 155 余 0
155 / 2 = 77 余 1
77 / 2 = 38 余 1
38 / 2 = 19 余 0
19 / 2 = 9 余 1
9 / 2 = 4 余 1
4 / 2 = 2 余 0
2 / 2 = 1 余 0
1/ 2 = 0 余 1

将余数倒排后可得到对应二进制结果: 1001101101

示例二:十进制621.25转二进制
整数部分621(同示例一,除基取余)
621 / 2 = 310 余 1
310 / 2 = 155 余 0
155 / 2 = 77 余 1
77 / 2 = 38 余 1
38 / 2 = 19 余 0
19 / 2 = 9 余 1
9 / 2 = 4 余 1
4 / 2 = 2 余 0
2 / 2 = 1 余 0
1/ 2 = 0 余 1
将余数倒排后可得到对应二进制结果: 1001101101
小数部分0.25(乘基取余)
0.25 X 2 = 0.5 = 0 + 0.5
0.5 X 2 = 1 = 1
小数部分得到的结果为:01
所以621.25的二进制结果为 1001101101.01

十进制转八进制

示例一:十进制621转八进制
621 / 8 = 77 余 5
77 / 8 = 9 余 5
9 / 8 = 1 余 1
1 / 8 = 0 余 1
将余数倒排后可得到对应八进制结果:1155

示例二:十进制621.25转八进制
整数部分621(同示例一,除基取余)
621 / 8 = 77 余 5
77 / 8 = 9 余 5
9 / 8 = 1 余 1
1 / 8 = 0 余 1
将余数倒排后可得到对应八进制结果:1155
小数部分0.25(乘基取余)
0.25 X 8 = 2 = 2
小数部分得到的结果为:2
所以621.25的二进制结果为 1155.2

十进制转十六进制

回忆下十进制十六进制数码位对照表:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

示例:十进制621转十六进制
621 / 16 = 38 余 13 —-> D
38 / 16 = 2 余 6 —-> 6
2 / 16 = 0 余 2 —-> 2

余数转换为16进制数码位,再倒排后可得到对应十六进制结果:26D

二进制、八进制、十六进制相互转换

二进制转八进制

由于23=8,所以每3位二进制可以转换为1位八进制

示例:二进制1001101101转八进制

1001101101 (二进制)
1 001 101 101
1X2**0** = 1 0X2**2 + 0X21 + 1X20** = 0 + 0 + 1 = 1 1X2**2 + 0X21 + 1X20** = 4 + 0 + 1 = 5 1X2**2 + 0X21 + 1X20** = 4 + 0 + 1 = 5
1155 (八进制)

二进制转十六进制

由于24=16,所以每4位二进制可以转换为1位十六进制

示例:二进制1001101101转十六进制

1001101101 (二进制)
10 0110 1101
1X2**1 + 0X20** = 2 + 0 = 2 0X2**3 + 1X22 + 1X21 + 0X20** = 0 + 4 + 2 + 0 = 14 = 6 1X2**3 + 1X22 + 0X21 + 1X20** = 8 + 4 + 0 + 1 = 13 = D
26D (十六进制)