2进制转10进制怎么转

如题所述

二进制转换成十进制:基数乘以权,然后相加,简化运算时可以把数位数是0的项不写出来,(因为0乘以其他不为0的数都是0)。小数部分也一样,但精确度较少。

方法:“按权展开求和”

例:10001111 

1×2⁷+1×2³+1×2²+1×2¹+1×2⁰=143,所以10001111的十进制表示为143。

规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依次递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。

扩展资料:

计算机采用二进制的原因:

1、技术实现简单,计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用“1”和“0”表示。

2、简化运算规则:两个二进制数和、积运算组合各有三种,运算规则简单,有利于简化计算机内部结构,提高运算速度。

3、适合逻辑运算:逻辑代数是逻辑运算的理论依据,二进制只有两个数码,正好与逻辑代数中的“真”和“假”相吻合。

4、易于进行转换,二进制与十进制数易于互相转换。

参考资料来源:百度百科-二进制

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
举个例子吧
二进制的1101转化成十进制   
1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13  
转化成十进制要从右到左用二进制的每个数去乘以2的相应次方   
不过次方要从0开始本回答被提问者采纳
第2个回答  2011-12-20
我举个例子告诉你吧
加入二进制是11101101那么转换为十进制=1*(2的7次方)+1*(2的6次方)+1*(2的5次方)+0*(2的4次方)+1*(2的3次方)+1*(2的2次方)+0*(2的1次方)+1*(2的0次方)=237
第3个回答  2011-12-20
#include <stdio.h>
int main()
{
int i;
char str1[10] = "10101";
int res = 0;
for(i=0; str1[i]!='\0'; i++) {
res = res *2 + (str1[i] - '0');
}
printf("%d \n", res);
return 0;
}
第4个回答  2011-12-20
不是0的位上的位全之和
相似回答