1242 二進位制整數轉十進位制
阿新 • • 發佈:2018-12-22
Description
給出一個二進位制的非負整數x,x<232,把它轉換成十進位制數輸出。
Input
輸入為多行,每行一個二進位制非負整數x。
Output
每行輸出x對應的十進位制數值。
Sample Input
0
1
01
10
11
100001
1111111111111111
Sample Output
0
1
1
2
3
33
65535
HINT
注意資料範圍!!!
Append Code
#include <stdio.h> #include <string.h> #include <math.h> int main() { long long int m,n,i,j,sum; char a[33]={0}; while(scanf("%s",a)!=EOF) { sum=0; m=strlen(a); for(i=m-1;i>=0;i--) { sum+=(a[i]-'0')*(long long int)pow(2,m-1-i); } printf("%lld\n",sum);//注意!!換為%d wa67% } return 0; }