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
版权声明:本文标题:二进制转十进制 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1726811576a1043015.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论