#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char arr[1001];//創建一個陣列char arr[1001]用來接收要轉換進制的數。(注意是char類型的陣列哦)
while (gets(arr) != 0)
{
int len, i, sum = 0, num, j;//初始化變數。num是每一位的數值,sum是每一位數值最後的加和。
len = strlen(arr);//len是輸入的字元陣列的長度。
for (i = 0; i < len; i++)
{
num = 1;
if (arr[i] == '1')//如果位上是1那麼就進行次方運算,如果是0的話就不用管(0不參與計算)
{
for (j = 1; j <= len - i - 1; j++)//j是每一位上的2的次方的個數。陣列要在扣1
{
num = num * 2;
}
sum = sum + num;//sum就是最後的十進位的值。
}
}
printf("%d\n", sum);
}
return 0;
}
沒有留言:
張貼留言