进制数之间的转换方法
英文转换中文-
一般来说,对于任意大于
1
的整数
n
,存在
n
进制,其特点是
基数为
n
,逢
n
进一
。其中最常用的是二进制、八进制和十六进制。
任意进制的数字对应的十进制值为:
Kn×
Bn
+
Kn-1×
Bn-
1
+
……
+
K1×B1
+
K0×B0
+
K
-1×
B-1
+
K-2×
B-
2
……
+
K-m×
B-m
上式中,
B
称为数字系统的基数,
Bn
至
B0
称为数字
Kn
至
K0
的权值。
1.
基本知识
十进制
基
数为
10
,逢
10
进
1
。在十进制中,一共使用
10
个不同的数字符号,这些符号
处于不同位置时,其权值各不相同
。
二进制
基数为
2
,逢
2
进
1
。在二进制中,使用
0
和
1
两种符号。
八进制
基数为
8
,
逢
8
进
1
。
八进制使用
8
种不同的符号,
它们与二进制的转换关系为:
0
:
000
1
:
001
2
:
010
3
:
011
4
:
100
5
:
101
6
:
110
7
:
111
十六进制
基数为
16
,
逢
16
进
1
。
十六进制使用
16
种不同的符号,
它们
与二进制的转换关
系为:
0
:
0000
1
:
0001
2
:
0010
3
:
0011
4
:
0100
5
:
0101
6
:
0110
7
:
0111
8
:
1000
9
:
1001
A
:
1010
B
:
1011
C
:
1100
D
:
1101
E
:
1110
F
:
1111
二进制数的运算
算术运算:加法
0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1
0
(向高位进
1
)
算术运算:减法
0 ? 0 = 0 0 ? 1 = 1
(向高位借
1
)
1 ? 0 =
1 1 - 1 = 0
逻辑运算:或(∨)
0
∨
0
= 0 0
∨
1 = 1 1
∨
0 = 1 1
∨
1 = 1
逻辑运算:与(∧)
0
∧
0
= 0 0
∧
1 = 0 1
∧
0 = 0 1
∧
1 = 1
逻辑运算:取反
0
取反为
1
1
取反为
0
注意:算术运算会发生进位、借位,逻辑运算则按位独立进行,不发生位与位之
间的关
系,其中,
0
表示逻辑假,
1
表示逻辑真。
2.
转换为十进制
二进制化为十进制
例:将二进制数
101.01
转换成十进制数
(
101.01
)
2 =
1
×
22 +
0
×
21 +
1
×
20 +
0
×
2-1 +
1
×
2-2 =
(
< br>5.25
)
10
八进制化为十进制
例:将八进制数
12.6
转换成十进制数
(<
/p>
12.6
)
8 =
1
×
81 +
2
×
80 +
6
×
8-1 =
(
< br>10.75
)
10
十六进制化为十进制
例:将十六进制数
2AB.6
转换成十进制数:
p>
(
2AB.6
)
16 =
2
×
162 +
10
×
161 +
11
×
160 +
6
×
16-1 =
(
683.375
)
10
3.
转换为二进制
八进制化为二进制
规则:按照顺序,每
1
位八进制数改写成等值的
3
位二进制数,次序不变。
例:
(<
/p>
17.36
)
8 =
(
001 111 .011
110
)
2 =
(
< br>1111.01111
)
2
十六进制化为二进制
规则:每
1
位十六进制数改写成等值的
4
位二进制数,次序不变。
例
:
(
p>
3A8C.D6
)
16
=
(
0011
1010
1000
1100.1101
0110
)
2
(
111.1101011
)
2
十进制整数化为二进制整数
规则:除二取余,直到商为零为止,倒排。
例:将十进制数
86
转化为二进制
2 |
86…… 0
2 | 43…… 1
2 | 21…… 1
2 | 10…… 0
2 | 5
…… 1
2 | 2 …… 0
2 | 1 …… 1
结果:
p>
(
86
)
10 =
(
1010110
)
< br>2
十进制小数化为二进制小数
规则:乘二取整,直到小数部分为零或给定的精度为止,顺排。
例:将十进制数
0.875
转化为二进制数
0.875
×
2
1.75
=
×
2
1.5
×
2
1.0
结果:
(
0
.875
)
10 =
(
0.111
)
2
4.
转换为八进制
二进制化为八进制
整数部份从最低有效位开始,
以
p>
3
位一组,
最高有效位不足
3
位时以
0
补齐,
每
一组均可转换成一个八进制的值,转换完毕就是八进制的整数。
小数部份从最高有效位开始,
以
3
位一组,
最低有效位不
足
3
位时以
0
补齐,
每
一组均可转换成一个八进制的值,转换完毕就是八进制
的小数。
例:
(
11001111.01111
)
2 =
(
11 001 111.011
110
)
2 =
(
< br>317.36
)
8
十六进制化为八进制
先用
1
化<
/p>
4
方法,将十六进制化为二进制;再用
3
并
1
方法,将二进制化为
8
制。
例:
(
1C
A
)
16 =
(
)
2 =
(
712
)
8
说明:小数点前的高位零和小数点后的低位零可以去除。
十进制化八进制
< br>方法
1
:采用除
8
取余法。
例:将十进制数
115
转化为八进制数
8| 115…… 3
8| 14
…… 6
8| 1 …… 1
p>
结果:
(
115
)
10 =
(
163
)
8
方法
2
:先
采用十进制化二进制的方法,再将二进制数化为八进制数
例:
(
115
)
1
0 =
(
1110011
)
2 =
(
163
)
8
5.
转换为十六进制
二进制化为十六进制
整数部份从最低有效位开始,以
4<
/p>
位为一组,最高有效位不足
4
位时以
p>
0
补齐,
每一组均可转换成一个十六进制的
值,转换完毕就是十六进制的整数。
小数部份从最高有效位开
始,以
4
位为一组,最低有效位不足
4
位时以
0
补齐,
每一组均可转换成一个十六进制的值,转换完毕就是十六进制的小数。
例:
(
11
001111.01111
)
2 =
(
1100 1111 .0111
1000
)
2 =
(
CF.78
)
16
八进制化为十六进制
先将八进制化为二进制,再将二进制化为十六进制。
例:
(
712
)
8 =
(
111001010
)
2 =
(
1CA
)
16
十进制化为十六进制
方法
1
:采用除
16
取余法。