二进制整数如何转换为十进制数?

二进制转换为十进制采用权相加法

权相加法就是将二进制数每位上的数乘以权,然后相加得到的结果就是十进制数。所谓权就是整数部分是2n-1,小数部分是2n,n是数字所在的位数。

步骤:

第一步:首先把二进制数位数补齐。比如该正数为11101,但它是一个8位二进制数,补齐位数后就是00011101。

注意:正整数首位为0,负整数首位为1。

第二步:补齐数位后,将二进制数每位上的数乘以权,然后相加得到的结果就是十进制数。

例如:00011101

00011101
2726252423222120

1×24+1×23+1×22+1×20=29

因此,二进制数11101转换为十进制数29。

注意:因为任何数乘以零都为零,所以位数为零的项可以忽略。

若补齐数位的二进制数首位为0,那么该数补齐数位后即可计算;若补齐数位的二进制数首位为1,即该数为负整数时,此时该数需要取反加1再进行计算。

例如:10011101

10011101首位为1,取反为-01100010,加1为-01100011。

01100011
2726252423222120

-(1×26+1×25+1×21+1×20)=-99

因此,二进制数10011101转换为十进制数-99。



本文固定URL:https://www.dotcpp.com/qa/34

编程杂谈
编程基础
知识答疑