概述
对n进制,逢n进1,所以n进制1位上的最大值为n-1。
十进制与其他进制转换
其他进制转十进制
数
[
x
l
,
x
l
−
1
,
x
l
−
2
,
.
.
.
,
x
2
,
x
1
,
x
0
]
的
进
制
为
R
,
其
对
应
的
十
进
制
为
数[x_l,x_{l-1},x_{l-2},...,x_2,x_1,x_0]的进制为R,其对应的十进制为
数[xl,xl−1,xl−2,...,x2,x1,x0]的进制为R,其对应的十进制为
∑
i
=
0
l
x
i
∗
R
i
\sum_{i=0}^lx_i*R^i
i=0∑lxi∗Ri
我觉得一个卓越的程序员是能把下表熟记的。
二进制 | 十进制 | 八进制 | 十进制 | 十六进制 | 十进制 |
---|---|---|---|---|---|
2 0 2^0 20 | 1 | 8 0 8^0 80 | 1 | 1 6 0 16^0 160 | 1 |
2 1 2^1 21 | 2 | 8 1 8^1 81 | 8 | 1 6 1 16^1 161 | 16 |
2 2 2^2 22 | 4 | 8 2 8^2 82 | 64 | 1 6 2 16^2 162 | 256 |
2 3 2^3 23 | 8 | 8 3 8^3 83 | 512 | 1 6 3 16^3 163 | 4096 |
2 4 2^4 24 | 16 | 8 4 8^4 84 | 4096 | 1 6 4 16^4 164 | 65536 |
2 5 2^5 25 | 32 | 8 5 8^5 85 | 32768 | ||
2 6 2^6 26 | 64 | ||||
2 7 2^7 27 | 128 | ||||
2 8 2^8 28 | 256 | ||||
2 9 2^9 29 | 512 | ||||
2 10 2^{10} 210 | 1024 | ||||
2 16 2^{16} 216 | 65536 |
与二进制转换
1 7 \Large_1^7 17 0 6 \Large_0^6 06 1 5 \Large_1^5 15 1 4 \Large_1^4 14 1 3 \Large_1^3 13 0 2 \Large_0^2 02 1 1 \Large_1^1 11 1 0 \Large_1^0 10
二进制的上方代表2的次方。
(
10111011
)
2
=
1
∗
2
7
+
1
∗
2
5
+
1
∗
2
4
+
1
∗
2
3
+
1
∗
2
1
+
1
∗
2
0
=
128
+
32
+
16
+
8
+
2
+
1
=
(
187
)
10
\begin{aligned} (10111011)_2 &=1*2^7+1*2^5+1*2^4+1*2^3+1*2^1+1*2^0\\ &=128+32+16+8+2+1\\&=(187)_{10} \end{aligned}
(10111011)2=1∗27+1∗25+1∗24+1∗23+1∗21+1∗20=128+32+16+8+2+1=(187)10
注意 最高位 2 n 2^n 2n 中的n=二进制长度-1,别漏掉最后的0
( 1242 ) 10 = 1024 + 128 + 64 + 16 + 8 + 2 = 2 10 + 2 7 + 2 6 + 2 4 + 2 3 + 2 1 = ( 10011011010 ) 2 \begin{aligned} (1242)_{10}&=1024+128+64+16+8+2\\&=2^{10}+2^7 +2^6+2^4+2^3+2^1\\&=(10011011010)_2\end{aligned} (1242)10=1024+128+64+16+8+2=210+27+26+24+23+21=(10011011010)2
与八进制的转换
3
7
\Large_3^7
37
6
6
\Large_6^6
66
0
5
\Large_0^5
05
1
4
\Large_1^4
14
2
3
\Large_2^3
23
0
2
\Large_0^2
02
5
1
\Large_5^1
51
7
0
\Large_7^0
70
八进制的上方代表8的次方。
(
4536
)
8
=
4
∗
8
3
+
5
∗
8
2
+
3
∗
8
1
+
6
∗
8
0
=
2048
+
320
+
24
+
6
=
(
2398
)
10
\begin{aligned} (4536)_8 &=4*8^3+5*8^2+3*8^1+6*8^0\\ &=2048+320+24+6\\&=(2398)_{10} \end{aligned}
(4536)8=4∗83+5∗82+3∗81+6∗80=2048+320+24+6=(2398)10
(
1242
)
10
=
2
∗
512
+
3
∗
64
+
3
∗
8
+
2
∗
1
=
2
∗
8
3
+
3
∗
8
2
+
2
∗
8
1
+
2
∗
8
0
=
(
2332
)
8
\begin{aligned} (1242)_{10}&=2*512+3*64+3*8+2*1 \\&=2*8^{3}+3*8^2+2*8^1 +2*8^0\\&=(2332)_8\end{aligned}
(1242)10=2∗512+3∗64+3∗8+2∗1=2∗83+3∗82+2∗81+2∗80=(2332)8
二进制与其他进制的转换
十进制 | 二进制 | 十进制(十六进制) | 二进制 |
---|---|---|---|
0 | 0000 | 8 | 1000 |
1 | 0001 | 9 | 1001 |
2 | 0010 | 10(A) | 1010 |
3 | 0011 | 11(B) | 1011 |
4 | 0100 | 12(C) | 1100 |
5 | 0101 | 13(D) | 1101 |
6 | 0110 | 14(E) | 1110 |
7 | 0111 | 15(F) | 1111 |
二进制与八进制的转换
( 1011010110 ) 2 = 1 011 010 110 = ( 1326 ) 8 \begin{aligned} (1011010110)_2&=1\ 011\ 010\ 110\\ &=(1326)_8 \end{aligned} (1011010110)2=1 011 010 110=(1326)8
( 753 ) 8 = 111 101 011 = ( 111101011 ) 2 \begin{aligned} (753)_8&=111\ 101\ 011\\&=(111101011)_2 \end{aligned} (753)8=111 101 011=(111101011)2
二进制与十六进制的转换
(
1011010110
)
2
=
10
1101
0110
=
(
2
D
6
)
8
\begin{aligned} (1011010110)_2&=10\ 1101\ 0110\\ &=(2D6)_8 \end{aligned}
(1011010110)2=10 1101 0110=(2D6)8
(
2
B
)
16
=
0010
1011
=
(
101011
)
2
\begin{aligned} (2B)_{16}&=0010\ 1011\\ &=(101011)_2 \end{aligned}
(2B)16=0010 1011=(101011)2