2022年7月1日 星期五

二進制轉十進制

 #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;

}

沒有留言:

張貼留言

algorithm

 #include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv)  { for(int j=2;j<=100;j++)//j...