admin 管理员组

文章数量: 1086019


2024年12月22日发(作者:法国破魔咒)

二进制,八进制,十进制,十六进制之间的相互转换和相关概念

二进制:

计算机只认识0或1,也就是高电平和低电平.

所以所有的数据格式最终会转化为2进制形式,计算机硬件才能识别。

二进制逢二进一,八进制逢八进一,十进制逢十进一,十六进制逢十六进

一。

下边是各进制之间的转换公式.

二进制转十进制

0110 0100(2) 换算成 十进制

 

第0位 0 * 2^0 = 0

第1位 0 * 2^1 = 0

第2位 1 * 2^2 = 4

第3位 0 * 2^3 = 0

第4位 0 * 2^4 = 0

第5位 1 * 2^5 = 32

第6位 1 * 2^6 = 64

第7位 0 * 2^7 = 0 +

---------------------------

100

二进制转八进制

可采用8421法

1010011(2)

首先每三位分割即: 001,010,011

不足三位采用0补位.

然后采用8421法: 001=1

010=2

011=3

所以转换成8进制是123

二进制转十六进制

11(2)

首先每四位分割即: 0001,1010,1101,0100

不足四位采用0补位.

然后采用8421法: 0001:1

1010:A

1101:D

0100:4

所以转换成十六进制是1AD4

十六进制当数字超过9后将采用A代替10,B代替11,C代替12,D代替13,E

代替14,F代替15;

下边是十进制的各种转换:

十进制转二进制

6(10)

10进制数转换成二进制数,这是一个连续除2的过程:

把要转换的数,除以2,得到商和余数,

将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转

换结果。

商 余数

6/2 3 0

3/2 1 1

1/2 0 1

最后把余数从下向上排列写出110即是转换后的二进制.

十进制转换八进制

10进制数转换成八进制数,这是一个连续除8的过程:

把要转换的数,除以8,得到商和余数,

将商继续除以8,直到商为0。最后将所有余数倒序排列,得到数就是转

换结果。

120(10)

商 余数

120/8 15 0

15/8 1 7

1/8 0 1

最后把余数从下向上排列写出170即是转换后的八进制.

十进制转换十六进制

10进制数转换成十六进制数,这是一个连续除16的过程:

把要转换的数,除以16,得到商和余数,

将商继续除以16,直到商为0。最后将所有余数倒序排列,得到数就是

转换结果。

120(10)

商 余数

120/16 7 8

7/16 0 7

最后把余数从下向上排列写出78即是转换后的十六进制.

八进制转换二进制

可采用8421法

把每位分成三个组合数

653(8)

把每位分成三个1,0组合: 6=110

5=101

3=011

最后的转换结果就是110101011

八进制转换成十进制:

 

1507换算成十进制。

 

第0位 7 * 8^0 = 7

第1位 0 * 8^1 = 0

第2位 5 * 8^2 = 320

第3位 1 * 8^3 = 512 +

--------------------------

839

同样,我们也可以用横式直接计算:

7 * 8^0 + 0 * 8^1 + 5 * 8^2 + 1 * 8^3 = 839

 

结果是,八进制数 1507 转换成十进制数为 839

八进制转换十六进制

可以借助转化为十进制或者二进制后在进行转换.

十六进制转换二进制

每一位拆分为1,0为单位的四位数

A45E(16)

采用8421法

A:1010

4:0100

5:0101

E:1110

所以转换为二进制后是:1110

十六进制转换为八进制

可以借助转化为十进制或者二进制后在进行转换.

十六进制转化为十进制

2AF5换算成10进制:

 

第0位: 5 * 16^0 = 5

第1位: F * 16^1 = 240

第2位: A * 16^2 = 2560

第3位: 2 * 16^3 = 8192 +

-------------------------------------

10997

直接计算就是:

5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997

1、有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次

方,其和相加之和便是相应的十进制数。个位,N=1;十位,

2、十进制数转二进制数、八进制数、十六进制数

方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小

数部分拼接成一个数作为转换的最后结果。

3、二进制数转换成其它数据类型

(1)二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一

组用一位八进制的数字来表示,不足三位的用0补足,

就是一个相应八进制数的表示。

010110.001100=26.14

八进制转二进制反之则可。

(2)二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为

一组用一位十六进制的数字来表示,

不足四位的用0补足,就是一个相应十六进制数的表示。

00100110.00010100=26.14

4、十进制转各进制

要将十进制转为各进制的方式,只需除以各进制的权值,取得其余数,第一次的余数当个位

数,第二次余数当十位数,其余依此类推,直到被除数小于权值,最后的被除数当最高位数。

5、二进制与十六进制的关系

2进制 0000 0001 0010 0011 0100 0101 0110 0111

16进制 0 1 2 3 4 5 6 7

2进制 1000 1001 1010 1011 1100 1101 1110 1111

16进制 8 9 a(10) b(11) c(12) d(13) e(14) f(15)

可以用四位数的二进制数来代表一个16进制,如3A16 转为二进制为:

3为0011,A 为1010,合并起来为00111010。可以将最左边的0去掉得1110102

右要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,将各单位对照

出16进制的值即可。

6、二进制与八进制间的关系

二进制 000 001 010 011 100 101 110 111

八进制 0 1 2 3 4 5 6 7

二进制与八进制的关系类似于二进制与十六进制的关系,以八进制的各数为0到7,以三位二进

制数来表示。如要将51028 转为二进制,5为101,1为001,0为000,2为010,将这些数的二进制合

并后为1,即是二进制的值。

若要将二进制转为八进制,将二进制的位数由右向左每三位一个单位分隔,将事单位对照出八

进制的值即可。

7、一.在计算机应用中,二进制使用后缀b表示;十进制使用后缀d表示,八进制用Q表示,十六

制使用后缀H表示。

8、二进制与各进制间转换

(1)二进制转换十进制:二进制数据X位数字乘以2的X-1次方的积的总和

(2)八进制转换十进制:二进制数据X位数字乘以8的X-1次方的积的总和

(3)十六进制转换十进制:二进制数据X位数字乘以16的X-1次方的积的总和

(4)十进制转换为二进制:十进制数据数字除以2的余数的逆序组合

(5)十进制转换十六进制: 十进制数据数字除以16的余数的逆序组合


本文标签: 二进制 转换 八进制