admin 管理员组

文章数量: 1086019


2024年9月20日发(作者:android调用libpng)

二进制转十进制是从最后一位算,具体是这样的::

如:01101011.转十进制:

第0位:1乘2的0次方=1

1 1乘2的1次方=2

:2 0乘2的2次方=0

3 : 1乘2的3次方=8

4: 0乘2的4次方=0

5: 1乘2的5次方=32

6 1乘2的6次方=64

7: 0乘2的7次方=0

然后:1+2+0

+8+0+32+64+0=107.

二进制01101011=十进制107.

你可明白?可再问.

十进制转二进制:

是一个连续除2的过程.用上例转换:

107除2商53余1

53除2商26余1

26除2商13余0

13除2商6余1

6 除2商3余0

3 除2商1余1

1 除2商0余1.

当商出现0时,就不要除了.然后把余数反住排列就行了.107=1101011.

二进制转十进制

从最后一位开始算,依次列为第0、1、2...位

第n位的数(0或1)乘以2的n次方

得到的结果相加就是答案

例如:01101011.转十进制:

第0位:1乘2的0次方=1

1乘2的1次方=2

0乘2的2次方=0

1乘2的3次方=8

0乘2的4次方=0

1乘2的5次方=32

1乘2的6次方=64

0乘2的7次方=0

然后:1+2+0

+8+0+32+64+0=107.

二进制01101011=十进制107.

十进制转二进制:

用2辗转相除至结果为1

将余数和最后的1从下向上倒序写 就是结果

例如302

302/2 = 151 余0

151/2 = 75 余1

75/2 = 37 余1

37/2 = 18 余1

18/2 = 9 余0

9/2 = 4 余1

4/2 = 2 余0

2/2 = 1 余0

故二进制为100101110

进制概念

1。 十进制

十进制使用十个数字(0、1、2、3、4、5、6、7、8、9)记数,基数为10,逢十进

一。

历史上第一台电子数字计算机ENIAC是一台十进制机器,其数字以十进制表示,并以

十进制形式运算。设计十进制机器比设计二进制机器复杂得多。而自然界具有两种稳定状

态的组件普遍存在,如开关的开和关,电路的通和断,电压的高和低等,非常适合表示计

算机中的数。设计过程简单,可靠性高。因此,现在改为二进制计算机。

2。 二进制

二进制以2为基数,只用0和1两个数字表示数,逢2进一。

二进制与遵循十进制数遵循一样的运算规则,但显得比十进制更简单。例如:

(1)加法:0+0=0 0+1=1 1+0=1 1+1=0

(2)减法:0-0=0 1-1=0 1-0=1 0-1=1

(3)乘法:0*0=0 0*1=0 1*0=0 1*1=1

(4)除法:0/1=0 1/1=1,除数不能为0

3。 八进制

所谓八进制,就是其基数为8,基数值可以取0、1、2、3、4、5、6、7共8个值,

逢八进一。

八进制与十进制运算规则一样。那么为什么要用八进制呢?难道要设计八进制的计算

机么?实际上,八进制与十六进制的引用,主要是为了书写和表示方便,因为二进制表示

位数比较长。如:(1024)10 用二进制表示为 (1)2,共有11个数字,

用八进制表示为(2000)8。更重要的是,由于二进制与八进制存在在一种对等关系,每

三位二进制与一位八进制数完全对等(23=8)。所以二进制和十进制在运算上无区别,而

时进制不具备这一优点。

4。 十六进制

十六进制应用也是非常广泛的一种计数制。在使用者看来,十六进制是二进制数的一

种更加紧凑的一种表示方法。

基数为:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,逢十进一。在十

六进制系统中,数值为10到15的数分别用A、B、C、D、E、F表示。

二进制数及与之等值的八进制、十进制和十六进制数

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

0000 0 0 0

0001 1 1 1

0010 2 2 2

0011 3 3 3

0100 4 4 4

0101 5 5 5

0110 6 6 6

0111 7 7 7

1000 10 8 8

1001 11 9 9

1010 12 10 A

1011 13 11 B

1100 14 12 C

1101 15 13 D

1110 16 14 E

1111 17 15 F

二。进制转换

1。二进制与十进制数间的转换

(1)二进制转换为十进制

将每个二进制数按权展开后求和即可。请看例题:

把二进制数(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)

10

(2)十进制转换为二进制

一般需要将十进制数的整数部分与小数部分分开处理。

整数部分计算方法:除2取余法 请看例题:

十进制数(53)10的二进制值为(110101)2

小数部分计算方法:乘2取整法,即每一步将十进制小数部分乘以2,所得积的小数

点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高

位。请看例题:

将(0.5125)10转换成二进制。(0.5125)10=(0.101)2

2。 八进制、十六进制与十六进制间的转换

八进制、十六进制与十六进制之间的转换方法与二进制,同十进制之间的转换方法类

似。例如:

(73)8=7*81+3=(59)10

(0.56)8=5*8-1+6*8-2=(0.71875)10

(12A)16=1*162+2*161+A*160=(298)10

(0.3C8)16=3*16-1+12*16-2+8*16-3=(0.142578125)10

十进制整数→→→→→八进制 方法:“除8取余”

十进制整数→→→→→十六进制 方法:“除16取余” 例如:

(171)10=(253)8

(2653)10=(A5D)16

十进制小数→→→→→八进制小数 方法:“乘8取整”

十进制小数→→→→→十六进制小数 方法:“乘16取整” 例如:

(0。71875)10=(0.56)8

(0.142578125)10=(0.3C8)16

3. 非十进制数之间的转换

(1)二进制数与八进制数之间的转换

转换方法是:以小数点为界,分别向左右每三位二进制数合成一位八进制数,或每一

位八进制数展成三位二进制数,不足三位者补0。例如:

(423。45)8=(100 010 011.100 101)2

(1001001.1101)2=(001 001 001.110 100)2=(111.64)8

2。二进制与十六进制转换

转换方法:以小数点为界,分别向左右每四位二进制合成一位十六进制数,或每一位

十六进制数展成四位二进制数,不足四位者补0。例如:

(ABCD。EF)16=(1010 1011 1100 1101.1110 1111)2

(111.01101)2=(0101 1011 0100 1011.0110 1000)2=(5B4B。

68)16

进制转换是不可不懂,多看就会啦!我也是学计算机的,书面考试时进制转换

的方法这些都要熟!

哈哈!

这样,还行吧!

16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,

F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。

十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位

的权值为16的2次方……

所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等

于 15,即:F)表示的大小为 X * 16的N次方。

用竖式计算: 2AF5换算成10进制:

第0位: 5 * 160 = 5

第1位: F * 161 = 240

第2位: A * 162 = 2560

第3位: 2 * 163 = 8192 ,全部相加即为答案=10997

直接计算就是: 5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997 (别忘了,在

上面的计算中,A表示10,而F表示15)

现在可以看出,所有进制换算成10进制,关键在于各自的权值不同

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

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

110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D

110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D

110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D

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

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

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

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

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

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

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

010110.001100B=26.14Q

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

3-2二进制转十进制:见1

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

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

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

00100110.00010100B=26.14H

十进制转各进制

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

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

最高位数。

一、十进制转二进制

如:55转为二进制

2|55

27――1 个位

13――1 第二位

6――1 第三位

3――0 第四位

1――1 第五位

最后被除数1为第七位,即得110111

二、十进制转八进制

如:5621转为八进制

8|5621

702 ―― 5 第一位(个位)

87 ―― 6 第二位

10 ―― 7 第三位

1 ―― 2 第四位

最后得八进制数:127658

三、十进制数十六进制

如:76521转为十六进制

16|76521

4726 ――5 第一位(个位)

295 ――6 第二位

18 ――6 第三位

1 ―― 2 第四位

最后得1276516

二进制与十六进制的关系

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进制的值即可。

二进制与八进制间的关系

二进制 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,即是二进制的值。

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

对照出八进制的值即可。

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

表示,十六制使用后缀H表示。

二.二进制,十六进制与十进制的计算转换

1.二进制转换为十进制

计算公式:二进制数据X位数字乘以2的X-1次方的积的总和

例:10101011b=( )d

数据

1 0 1 0 1 0 1 1

X-1位

7 6 5 4 3 2 1 0

相应的十进制值即为:27 +25+23+21+20=128+32+8+2+1=171

2.十六进制转换十进制

计算公式:二进制数据X位数字乘以16的X-1次方的积的总和(与二进制转换十制

进同理的,将底数换为16)

注意:在十六进制中,10-16依次用A,B,C,D,E,F表示

例:1F3E H=( )d

计算:1*16的3次方+16*16的2次方+3*16的1次方+15*16的0次方

=1*4096+16*256+3*16+15*16=4096+4096+48+240=8480

三.十进制与二进制,十六制的计算转换

1.十进制转换为二进制

十进制数据数字除以2的余数的逆序组合

例:404d=( )b

2|404 余0

2|202 余0

2|101 余0

2|50 余1

2|25 余0

2|12 余1

2|6 余0

2|3 余1

2|1

计算结果便是:110101000

2.十进制转换十六进制。。。与上面同理,注意的是10以上的数字用字母表示,除数是

16

十六进制与二进制的转换,建议通过十进制来进行中转。

带小数点的十进制转换为二进制时同理,小数店后的数位指数为负指数

一、二进制数转换成十进制数

由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然

后按十进制加法规则求和。这种做法称为"按权相加"法。

二、十进制数转换为二进制数

十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的

整数部分和小数部分分别转换后,再加以合并。

1. 十进制整数转换为二进制整数

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除

十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,

直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为

二进制数的高位有效位,依次排列起来。

2.十进制小数转换为二进制小数

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十

进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,

再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为

止。

然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,

后取的整数作为低位有效位。

回答者:HackerKinsn - 试用期 一级 2-24 13:31

1.二进制与十进制的转换

(1)二进制转十进制
方法:"按权展开求和"

例:

(1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10

=(8+0+2+1+0+0.25)10

=(11.25)10

(2)十进制转二进制

· 十进制整数转二进制数:"除以2取余,逆序输出"

例: (89)10=(1011001)2

2 89

2 44 …… 1

2 22 …… 0

2 11 …… 0

2 5 …… 1

2 2 …… 1

2 1 …… 0

0 …… 1

· 十进制小数转二进制数:"乘以2取整,顺序输出"

例:

(0.625)10= (0.101)2

0.625

X 2

1.25

X 2

0.5

X 2

1.0


本文标签: 二进制 部分 整数