山科大OJ-Problem 1242: 二進位制整數轉十進位制
阿新 • • 發佈:2019-01-08
Problem A: 二進位制整數轉十進位制
Time Limit: 1 Sec Memory Limit: 2 MBSubmit: 8496 Solved: 3159[Submit][Status][Web Board]Description
給出一個二進位制的非負整數x,x<232,把它轉換成十進位制數輸出。
Input
輸入為多行,每行一個二進位制非負整數x。Output
每行輸出x對應的十進位制數值。
Sample Input
0 1 01 10 11 100001 1111111111111111Sample Output
0 1HINT
注意資料範圍!!!
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> int main() { char a[33]; long long int i,n,sum; while(scanf("%s",a)!=EOF) { sum=0; n=strlen(a); for(i=n-1;i>=0;i--) sum+=(a[i]-'0')*((long long int)pow(2,n-1-i)); printf("%lld\n",sum); } }