二进制、八进制、十进制和十六进制之间的相互转换

231 阅读4分钟

一、什么是进制?

进制也就是 进位计数值,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳 计数法 ,唱票时常用的“正”字计数法,以及类似的tally mark计数。

进制分为四种:二进制、八进制、十进制、十六进制。进制是什么,进制就是当一个数,满足该进制的最大数时,该数前位+1,本位清零。

二、十进制与二进制之间的相互转换

在所有的进制转换中,第一位是从此“0”开始算起。

1.十进制转换成二进制

可以用除二取余的方法

首先对一个数进行一次除二,得出一个商和余数(没有余数,写0),然后再次除二余数(没有余数,写0),进行重复操作,直至得到的商为0位置,所得到的余数,最后反向取值,就是二进制数。

如图所示:

反向取值 48的二进制就是’110000‘。

也有较简单的方法:

2^0=1 2^1=2 2^2=4 2^3=8 2^4=16 2^5=32 2^6=64 2^7=128 2^8=256

比如一个十进制的数255转化为二进制:

255= 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 转化为

255= 2^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^1

        1             1         1             1            1            1         1           1

所以255的二进制为’11111111‘.

如果相加的过程中,没有这个数,那么二进制中,相应的位置就为零

如例:

84=64+0+16+8+0+0+0

   1    0   1   1  0  0   0             所以转化为二进制为’1011000‘。

2.二进制转换成十进制

二进制转化为十进制,就是与上面的算法反过来。

例子:如要想二进制1010111010转为十进制,,计算如下所示:

1                0                1               0               1                1                  0                 1               0

2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0

1* 2^8 + 02^7 + 12^6 + 12^5 + 1 2^4 + 02^3 + 12^2 + 0*2^1 + 2^0

=346

三、十进制与八进制之间的相互转换

1.1.十进制转换八进制

可以用除八取余的方法

首先对一个数进行一次除八,得出一个商和余数(没有余数,写0),然后再次除八取余数(没有余数,写0),进行重复操作,直至得到的商为0位置,所得到的余数,最后反向取值,就是八 进制数。

如图所示:

所以,’135‘转换为八进制,反取为’207‘

1.2.八进制转换十进制

从八进制转换成十进制,就1.1中的135举例

例子:八进制207转化为十进制

2 0 7

8^2 8^1 8^0

28^2 + 08^1 + 7*8^0 =135 十进制为’135‘

四、十进制与十六进制之间的相互转换

1.1.十进制转换十六进制

在进制转换的过程基本上是相同的,但是还有一个是比较特殊的

在十六进制中大于10的数表示“10=A”、“11=B”、“12=C”、“13=D”、“14=E”、“15=F”

所以这一个可以用除16取余的方法

首先对一个数进行一次除16,得出一个商和余数(没有余数,写0),然后再次除16取余数(没有余数,写0),进行重复操作,直至得到的商为0位置,所得到的余数,最后反向取值,就是16 进制数。

如图所示:

所以十进制数1684转换成八进制,取反为”694“。

1.2.十六进制转换十进制

例子:借用上面的例子算十六进制”694“

6                        9                             4

16^2                 16^1                         16^0

616^2 + 916^1 + 4*16^0=1684

所以十六进制转换成十进制就是”1684“。

五、二进制与八进制、十六进制之间的相互转换

1.二进制转换八进制

原理:八进制数的一位是二进制数的三位。

例子:将”1101101010110“二进制转换成八进制(从最底层开始数,三个为一组,如果最高位不够,在高位前加”0“。)

001 101 101 010 110

12^0 12^2+12^0 12^2+12^0 12^1 12^2+12^1

  1                 5             5                        2                   6

所以转换成八进制为“15526”。

2.二进制转换十六进制

原理:十六进制数的一位是二进制数的四位。

例子:将”1101101010110“二进制转换成十六进制(从最底层开始数,四个为一组,如果最高位不够,在高位前加”0“。)

0001 1011 0101 0110

12^0 12^3+12^2+12^0 12^2+12^0 12^2+12^1

 1                              B                              5                        6

所以转换成十六进制为“1B56”。