版权声明:欢迎转载,如果转载,请注明转载地址,谢谢! https://blog.csdn.net/qq_40763929/article/details/83903687
2017级 计算机科学与技术 袁壮苗
题目描述
题目很简单,就是把一个二进制数转换为十进制数,然后输出。
输入描述
多组测试数据,第一行一个正整数 n (n<=1000),表示后面有 n 组测试数据,每组一行。
接下来有 n 行,每行为一个不超过32位的二进制数。
输出描述
对每组测试数据,在一行中输出对应的十进制数。
输入样例
2 0111 1111输出样例
7 15来源or类型
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
char a[100];
long long int i,n,len,temp;
long long int sum;
int j;
scanf("%lld",&n);
getchar();
while(n--)
{
sum=0;
temp=0;
j=0;
gets(a);
len=strlen(a);
for(i=len-1;i>=0;i--)
{
temp=a[i]-48;
sum+=temp*(int)pow(2,j);
j++;
}
printf("%lld\n",sum);
}
}