‘壹’ c语言怎么将2进制转化为10进制
#include<stdio.h>
intSum(inta[]);
intpower(intb);
intmain()
{
intarray[8],i;
printf("输入一个8位二进制数:");
for(i=0;i<8;i++)
{
scanf("%1d",&array[i]);
}
printf("转换为十进制数后是:%d ",Sum(array));
return0;
}
intSum(inta[])
{
intn,i,sum=0,term;//n为指数,term为每一项的值,如1*(2*2),sum为总和
for(i=0,n=7;i<8;i++,n--)
if(n>=0)
{term=a[i]*power(n);
sum=sum+term;
}
returnsum;
}
intpower(intb)
{
inti=2,j=1;
if(b==0)
i=1;
for(;j<b;j++)
i=2*i;
returni;
}
‘贰’ 用c语言怎么写 实现2进制转成10进制
按照楼主的意思,应该是2机制格式表示的字符串,转成10进制格式的字符串
(否则,都是数值的话,不需要转。把它看成2进制或10进制,都可以)
所以,该功能分两部分
1,把2进制表示的字符串,转换成数值
2,把数值转换成10进制表示的字符串
‘叁’ c语言编程 将输入的2进制字符串转换为10进制数输出
数组s已经定义长度,strlen的结果就是100,另外换算的时候语句可以优化
‘肆’ c语言如何把一个字符串格式的二进制数转化为整数型的十进制数
首先要说,在计算机里面不存在十进制数。我们看到的输出的十进制数,其实是C编译器把真正的二进制数的数值以十进制形式显示在屏幕上。如果说计算机里面有十进制数的话,那么BCD数可以算是一种形式的十进制数。
而题目中的字符串格式的二进制数,也就是一串的'0','1'字符;转化为整数型其实就是求得其实际数值,最后以十进制形式输出。
#include <stdio.h>
int main()
{
long int m;
char c0[50],*c ;
while(scanf("%s",c0)!=EOF){
m = 0;c=c0;
while(*c)
m += (m + *(c++)-'0');
printf("%d\n",m);
}
return 0;
}
‘伍’ C语言,利用函数实现将二进制数转化为十进制数并实现相加。
1、2进制10进制的转换方法:
二进制数1101转十进制:
1×2的三次幂+1×2的二次幂+0×2的一次幂+1×2的零次幂=8+4+0+1=13
附加一个八进制转十进制的例子吧:
507(八进制转10进制):
5×8的2次幂+0×8的1次幂+7×8的0次幂=
5×64+0×8+7×1=327(10进制)
2、例程:
#include"stdio.h"
doubleBtoD(charB[])
{
doubled=0;//转为十进制数的中间结果变量
inti=0;//当前求到了二进制数的位置
while(B[i++]!='