算法训练 进制转换
时间限制:1.0s 内存限制:512.0MB
问题描述
编写一个程序,输入一个二进制的字符串(长度不超过32),然后计算出相应的十进制整数,并把它打印出来。
输入格式:输入为一个字符串,每个字符都是’0’或’1’,字符串的长度不超过32。
输出格式:输出一个整数。
输入输出样例
样例输入
1101
样例输出
13
#include<stdio.h>
#include<string.h>
char str[33];
long long Integer_();
int main() {
scanf("%s",str);
printf("%lld\n",Integer_());
return 0;
}
long long Integer_() {
int len = strlen(str);
long long i,cur,sum;
cur = 1;sum = 0;
for(i = len - 1; i >= 0; i-- , cur *= 2)
sum += ((str[i] - '0') * cur);
return sum;
}
package problem;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc= new Scanner(System.in);
String str=sc.next();
System.out.println(change(str,2,10));
}
public static String change(String value,int src,int dest){
return Integer.toString(Integer.parseInt(value,src),dest);
}
}