二进制、八进制、十进制、十六进制
参考博客:http://www.cnblogs.com/fenglingyi/p/4750378.html
重点知识:
二进制——》八进制:每3个进制位为一组,然后将二进制数转化为八进制数
二进制——》十六进制:每4个进制位为一组,然后将二进制数转化为十六进制数
八进制——》二进制:一个进制位拆分成3个二进制位。
八进制——》十六进制:先转化为二进制数,然后再转化为十六进制数。
十进制——》二进制:除2取余,然后倒着取值
十进制——》八进制:除8取余,然后倒着取值
十进制——》十六进制:除16取余,然后倒着取值
十六进制——》二进制:一个进制为拆分成4个二进制位,然后算出值。
十六进制——》八进制::先转化成二进制数,然后再转化成八进制
基本机制:
二进制:用0和1来表示数,基数是2,进位规则是逢二进一,借位规则是借一当二。
八进制:用0-7来表示数,逢八进一。
十进制:用0-9来表示数,逢十进一。
十六进制:用0-9以及ABCDEF来表示数,逢十六进一。
1.十进制转化
二进制:1101000——》2**6+2*5+2**3 =104
八进制:317——》3X8**2 + 1X8**1 +7X8**0
十进制:134——》1X10**2 + 3X10**1 + 4X10**0
十六进制:716——》7X16**2 + 1X16**1 + 6X16**0
以上实际上就是十进制的转换
2.二进制转换
(1)十进制转化为二进制:除二取余,倒取余数。
(2)八进制转化为二进制:一个八进制的位拆分成一个三位的二进制数。
例:八进制的616转换成二进制就是6(110)1(001)6(110) ——》 110001110
八进制616:6X8**2 + 1X8**1 +6X8**0 =398
(3)十六进制转化为二进制:一个十六进制的位拆分成一个四位的二进制数。为啥是4位,因为2*3 << 16。
例:十六进制的616转换成二进制就是6(0110)1(0001)6(0110) ——》11000010110
十六进制616: 6X16**2 + 1X16**1 6x16**0 =1558
二进制11000010110:2**10 + 2**9 + 2**4 + 2**2 +2**1 =1558
3.八进制转换
(1)二进制转换位八进制:每三个二进制位为一组,将二进制转换成八进制。
110 111 100 ——》 674
八进制:674——》6*8**2 + 7*8 +4 = 444
二进制:110111100 ——》2**8 +2**7 +2**5 + 2**4 +2**3+ 2**2 =444
(2)十进制转化为八进制:除八取余数然后把余数倒过来。比如4216
4216/8 =527 余0
527/8 = 65 余7
65/8 = 8 余1
8/8 = 1 余0
1/8=0 余1
由下向上取值,结果为10170 —转化成10进制——》8**4 + 8**2 + 8*7 = 4216
还可以将十进制转化为二进制,然后再转化为八进制。
(3)十六进制转化为八进制:先把十六进制转化为4位二进制,然后再把二进制转化为三位的八进制。例如:3BE8
3BE8——》3 11 14 8——》0011 1011 1110 1000——》0 011 101 111 101 000——》转化为八进制35750——》3*8**4 + 5*8**3 + 7*8**2 + 5*8 =15336
3BE8——》3*16**3 +11*16**2 +14*16 +8 = 15336
4.十六进制转换
(1)二进制转化为十六进制:每四个进制位为一组,然后转化位十六进制。
例:100 110 001110 ——》1001 1000 1110(不足4位再最前面补0)——》9 8 14——》98E
100 110 001110 ——》2**11 + 2**8+ 2**7 +2**3 + 2**2+2**1 = 2446
9 8 14——》9*16**2 + 8*16 +14 = 2446
(2)八进制转化位十六进制:先将八进制转化位二进制,然后再转化位十六进制。
例:613—转换成二进制—》110 001 011(0001 1000 1011)1 8 11(18b)
613——》6*8**2 + 1*8 +3 =395
1 8 11——》1*16**2 + 8*16 +11 =395
(3)十进制转化位十六进制:除十六取余数然后把余数倒过来。例如:3625
3525/16 = 226 余9
226/16 = 14 余2
14/16 = 0 余14
倒着连起来就是:14 2 9——》E29
E29转换成十进制数就是:14*16**2 +2*16 +9 = 3625
参考标准: