大家或多或少都听说过如何把一个十进制数转换为二进制数。但是如果我给你一个数字,让你口算转换为二进制数,你肯定会觉得我这是在为难你胖虎。
例如8769转换为二进制是多少?答案是10001001000001。如果你口算做除法,可能根本记不住这么多位。
那么今天告诉你一个技能,如何口算实现:
八进制<->二进制<->十六进制
的转换。例如:
二进制 | 八进制 | 十六进制 |
---|---|---|
101110101010110101 | 565265 | 2eab5 |
11101010111011111 | 352737 | 1d5df |
这三个进制之间的转换,初看起来毫无规律,如何口算?为了实现口算,你需要记住16个对应关系:
二进制 | 八进制 | 十六进制 |
---|---|---|
0 | 0 | 0 |
1 | 1 | 1 |
10 | 2 | 2 |
11 | 3 | 3 |
100 | 4 | 4 |
101 | 5 | 5 |
110 | 6 | 6 |
111 | 7 | 7 |
1000 | 10 | 8 |
1001 | 11 | 9 |
1010 | 12 | a |
1011 | 13 | b |
1100 | 14 | c |
1101 | 15 | d |
1110 | 16 | e |
1111 | 17 | f |
这16个组合非常好记,你搬着手指也能数出来。
现在,给你一个二进制数: 101110101010110101
,如何把它转成八进制?
方法:从右向左,每3位一组把二进制数分开,再把每一组转成8进制数:
101110101010110101
。565265
565265
把这个过程倒过来,就是八进制转二进制的过程:
352737
011101010111011111
011101010111011111
11101010111011111
现在,给你一个二进制数: 101110101010110101
,如何把它转成十六进制?
方法:从右向左,每4位一组把二进制数分开,再把每一组转成十六进制数:
101110101010110101
。2e a b5
2eab5
把这个过程倒过来,就是转二进制的过程:
1d5d f
00011101010111011111
00011101010111011111
11101010111011111
好了,拿去考试或者装逼吧。