算法训练 进制转换 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,输入一个二进制的字符串(长度不超过32),然后计算出相应的十进制整数,并把它打印出来。 输入格式:
算法训练 进制转换
时间限制:1.0s 内存限制:512.0MB
问题描述
编写一个程序,输入一个二进制的字符串(长度不超过32),然后计算出相应的十进制整数,并把它打印出来。
输入格式:输入为一个字符串,每个字符都是’0’或’1’,字符串的长度不超过32。
输出格式:输出一个整数。
输入输出样例
样例输入
1101
样例输出
13
分析:
2进制转10进制,用我们数学中日常用的方法即可。
#include <stdio.h>#include <string.h>
#include <math.h>
int main()
{
char a[32];
int sum=0;
gets(a);
int i,j;
j=strlen(a)-1;
for(i=j;i>=0;i--)
{
if(a[i]=='1')
sum+=pow(2,j-i);
}
printf("%d\n",sum);
return 0;
}