进制转换

来源:互联网 发布:飞车原装官方雷诺数据 编辑:程序博客网 时间:2024/06/06 12:59


Description

包子遇到了一个问题,就是他从小到大学的都是10进制的数字,但是现在他得到了一本书,书里的数字全是用2进制写成的。包子很懒,所以请你帮他写一个进制转换的程序将2进制转换成10进制以方便阅读。

Input

多组测试数据。每组包含一个由0和1组成的二进制串占一行(每个二进制串的数字的个数不超过31)。

Output

对于每个二进制串输出对应的10进制数,每个10进制数占一行。

Sample Input

0
1
10
11
100
101
110
111
1000
1001

Sample Output

0
1
2
3
4
5
6
7
8
9

提示:1001(2)<=> 9(10) = 1*2^3 + 0*2^2 + 0*2^1 +1*2^0

Source

AOA

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>int main(){    char ch[35];    int len,j,i,ans;    while(gets(ch))    {        ans=0;        len=strlen(ch);        for(i=0;i<len;i++)        {            ans=ans*2+(ch[i]-'0');        }        printf("%d\n",ans);    }}