c语言实现二进制数转换为十进制

// 二进制转十进制.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"


int xn(int num,int n)//实现计算2的n次方的值
{
int outcome=1;
int i=1;
for (;i<=n;i++)
outcome*=num;
return outcome;
}
int main(int argc, char* argv[])
{
int sum=0;//存放十进制
char bin[32];//存放输入的二进制
char temp;
int i=0;
int j=0;
int x=0;
printf("请输入二进制序列----以回车结束输入\n");
while((temp=getchar())!='\n')
{
bin[i]=temp;
i++;
}
printf("%d\n",i);
for (;j<i;j++)
printf("%c",bin[j]);
printf("\n");
for (;x<i;x++)
sum+=((bin[x]-48)*xn(2,i-x-1));//计算对应的十进制的值。
printf("%d",sum);
printf("\n");
printf("%d\n",'0'-48);
printf("%d\n",xn(2,3));


return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值