如何将二进制转换为十进制?
二进制是最简单的数字系统,只使用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) | |||
---|---|---|---|---|---|
22 | 21 | 20 | 2-1 | 2-2 | 2-3 |
4 | 2 | 1 | 0.5 | 0.25 | 0.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转换为十进制数。由于这里没有二进制小数点,也没有小数部分。
二进制到十进制为:
= (11001010)2 = 1x27+1x26+0x25+0x24+1x23+0x22+1x21+0x20 = 128+64+0+0+8+0+2+0 = (202)10
示例2 - 将二进制数1010.1011转换为十进制数。由于这里有一个二进制小数点和小数部分。
二进制到十进制为:
= (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
以上是将二进制数转换为十进制数的两种简单方法。