如何将二进制转换为十进制?


二进制是最简单的数字系统,只使用0和1两个数字(即基数为2)。由于数字电子技术只有这两种状态(0或1),因此二进制数在现代计算机工程师、网络和通信专家以及其他专业人士中最受欢迎。

十进制数是公众最熟悉的数字系统。它是基数为10的系统,只有10个符号:0、1、2、3、4、5、6、7、8和9。

从二进制到十进制的转换

主要有两种方法可以将二进制数转换为十进制数——使用位权法和倍乘法。这些方法解释如下。

使用位权法

由于数字是位置数字系统的一种。这意味着从右到左的位的权重为20、21、22、23……依此类推,对于整数部分;从左到右的位的权重为2-1、2-2、2-3、2-4……依此类推,对于小数部分。

最高有效位 (MSB)二进制小数点最低有效位 (LSB)
2221202-12-22-3
4210.50.250.125

假设任何无符号二进制数为bnb(n-1) ... b1b0.b-1b-2 ... b(m-1)bm。则十进制数等于二进制数字 (bn) 乘以它们的2的幂 (2n) 的和,即,bnb(n-1) ... b1b0.b-1b-2 ... b(m-1)bm = bnx2n+b(n-1)x2(n-1)+ ... +b1x21+bx020+b-1x2-1+b-22-2+ ...

这是一个简单的算法,您需要将二进制的位权值乘以其数字,然后将这些步骤的结果相加。

示例1 - 将二进制数11001010转换为十进制数。由于这里没有二进制小数点,也没有小数部分。

Position

二进制到十进制为:

= (11001010)2
= 1x27+1x26+0x25+0x24+1x23+0x22+1x21+0x20
= 128+64+0+0+8+0+2+0
= (202)10

示例2 - 将二进制数1010.1011转换为十进制数。由于这里有一个二进制小数点和小数部分。

Fractional Part

二进制到十进制为:

= (1010.1011)2
= 1x23+0x22+1x21+0x20+1x2-1+0x2-2+1x2-3+1x2-4
= 8+0+2+0+0.5+0+0.125+0.0625
= (10.6875)10

使用倍乘法

这是一种将二进制数转换为十进制数的简单方法,您需要从输入的左端数字(或MSB)开始。取最高有效位 (MSB),写下,然后乘以2并加上第二个左端位,将其存储为当前结果,然后再次将当前结果乘以2并加上第三个左端位,将此值更新为当前结果,并继续此操作,直到加上最低有效位 (LSB 或右端位)。由于每次都在加倍(乘以2),因此此方法称为倍乘法。

下面分步骤解释这个简单的算法:

  • 写下二进制数。

  • 从左开始,将之前的总数乘以2,然后加上当前数字。

  • 将当前总数乘以2,然后加上下一个左端数字。

  • 重复上一步。

例如,将二进制数11101110转换为十进制数。根据上述算法,二进制到十进制为:

= (11101110)2
= 1
= 12+1 =3
= 32+1=7
= 72+0=14
= 142+1=29
= 292+1=59
= 592+1=119
= 1192+0=238
= (238)10

以上是将二进制数转换为十进制数的两种简单方法。

更新于:2023年9月14日

24K+ 次浏览

开启你的职业生涯

完成课程并获得认证

开始学习
广告