二进制、八进制、十六进制快速转换
表格
先看表格
十进制 | 二进制 | 八进制 | 十六进制 |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
16 | 10000 | 20 | 10 |
十进制快速转二进制
- 规律 1:可以发现二进制与十进制的规律 1 2 4 8 为 1 10 100 1000 10000,对应的权值法计算也是 2 的次方数累加,以此类推 2 后面一个 0,4 后面 2 个 0,8 后面 3 个 0...32 后面 5 个 0...
十进制 | 二进制 | 权值法 |
---|---|---|
1 | 1 | 1 * 2^0 |
2 | 10 | 1 * 2^1 |
4 | 100 | 1 * 2^2 |
8 | 1000 | 1 * 2^3 |
16 | 10000 | 1 * 2^4 |
- 规律 2:1-7 直接随便取一个十进制数,比如 7,可以有规律 1 中的十进制数(1,2,4,8)来组合:
7 = 1 + 2 + 4
,将1 + 2 + 4
替换为对于的二进制数:1 + 10 + 100
得出111
,111 就是 7 的二进制数
十进制 | 二进制 |
---|---|
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
- 由上得出,任意十进制数字可以由 1,2,4,8 相加得到,在将相加的数字替换为二进制数相加即可。
利用 1 2 4 8 法则可以快速转换
例 1:
- 十进制数 13
- 13 = 1 + 4 + 8;
- 替换为二进制数为 1 + 100 + 1000 = 1011; 1011 为 13 的二进制数
例 2:
- 十进制数 48
- 48 = 32 + 16;
- 替换二进制:100000 + 10000 = 110000; 110000 为 48 的二进制。
例 3:
- 十进制数 123
- 123 = 64 + 32 + 16 + 8 + 2 + 1;
- 1000000 + 100000 + 10000 + 1000 + 10 + 1 = 1111011;
二进制转十进制
二进制也是利用倒数的 1248 法则来快速转换为十进制
例 1:
- 二进制数 10110101
- 从右往左对应的是 1 2 4 8 16 32 64...,如果是 0 就直接为 0
- 10110101 从右往左 1 2 4 8 累计对应 ↓
- 128+0+32+16+0+4+0+1
- 相加得到十进制数 181
二进制转八进制
二进制 | 八进制 |
---|---|
001 | 1 |
010 | 2 |
100 | 4 |
1000 | 10 |
可以找到规律:每 3 位二进制对应以为 8 进制,二进制 1000,可以看作 001 000
,对应八进制的1 0
例 1:
- 二进制数
0010101011000110
- 利用 1 2 4 8 法则,并按 3 位数拆开
0 010 101 011 000 110
- 按 3 位数对应的值为
0 2 5 3 0 6
得到的八进制数就是25306
八进制转二进制
八进制转二进制与二进制转八进制相反,一位八进制数对应三位二进制数
例:
- 八进制数
1263716451
- 按每位数拆开
1 2 6 3 7 1 6 4 5 1
- 对应的二进制数为
001 010 110 011 111 001 110 100 101 001
- 得到的二进制数为
001010110011111001110100101001
十六进制转二进制
与八进制转二进制相同,不过是一位十六进制数对应四位二进制数
例:
- 十六进制
168adf
- 拆为单个十六进制
1 6 8 a d f
- 对应的二进制数
0001 0110 1000 1010 1101 1111
- 得到对应的二进制
000101101000101011011111
二进制转十六进制
同上,每四位二进制数对应一位十六进制
例:
- 二进制数
01010101011101010001010101
- 拆为4位
01 0101 0101 1101 0100 0101 0101
- 对应的十六进制
1 5 5 d 4 5 5
- 得到对应的十六进制
155d455
十六进制转二进制
同理,一位十六进制数对应4位二进制
例:
- 十六进制数
FD3981
- 拆分单个
F D 3 9 8 1
- 对应的二进制
1111 1101 0011 1001 1000 0001