如何将带有小数的二进制数转换成十进制数,如0.011101?-查字典问答网
分类选择

来自金哲的问题

  如何将带有小数的二进制数转换成十进制数,如0.011101?望各位大哥赐教,写出换算过程.

  如何将带有小数的二进制数转换成十进制数,如0.011101?

  望各位大哥赐教,写出换算过程.

1回答
2020-04-12 20:21
我要回答
请先登录
丁丽娟

  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

  后面是附加资料

  1.十进制

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

  历史上第一台电子数字计算机ENIAC是一台十进制机器,其数字以十进制表示,并以十进制形式运算.设计十进制机器比设计二进制机器复杂得多.而自然界具有两种稳定状态的组件普遍存在,如开关的开和关,电路的通和断,电压的高和低等,非常适合表示计算机中的数.设计过程简单,可靠性高.因此,现在改为二进制计算机.

  2.二进制

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

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

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

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

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

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

  3.八进制

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

  八进制与十进制运算规则一样.那么为什么要用八进制呢?难道要设计八进制的计算机么?实际上,八进制与十六进制的引用,主要是为了书写和表示方便,因为二进制表示位数比较长.如:(1024)10用二进制表示为(10000000000)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表示.

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

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

  0000000

  0001111

  0010222

  0011333

  0100444

  0101555

  0110666

  0111777

  10001088

  10011199

  10101210A

  10111311B

  11001412C

  11011513D

  11101614E

  11111715F

  二.进制转换

  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=(100010011.100101)2

  (1001001.1101)2=(001001001.110100)2=(111.64)8

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

  转换方法:以小数点为界,分别向左右每四位二进制合成一位十六进制数,或每一位十六进制数展成四位二进制数,不足四位者补0.例如:

  (ABCD.EF)16=(1010101111001101.11101111)2

  (101101101001011.01

2020-04-12 20:25:25

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •