二进制、八进制、十进制、十六进制

参考博客: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

二进制110001110:2**8 + 2**7 + 2**3 +2**2 2**1 = 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

参考标准:

原文地址:https://www.cnblogs.com/yangmingxianshen/p/7720475.html