題目描述:
將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。
輸入描述:
多組資料,每行為乙個長度不超過30位的十進位製非負整數。
(注意是10進製數字的個數可能有30個,而非30bits的整數)
輸出描述:
每行輸出對應的二進位制數。
注:
30位長的十進位制數,超過了long int型別的取值範圍,因此不能用簡單的long int型對輸入數字進行儲存。
求二進位制的過程(舉例如下):
10轉換為二進位制為1010.
思路:
將資料以string型別輸入,然後將每一位數字存放在int型陣列array中。
求二進位制的方法:每次迴圈將array中的數字除以2,餘數放在result陣列中,商作為新的數字存放在陣列array中
結果輸出:將result中的資料倒序輸出
實現:
#include #include using namespace std;
int main()
result[i++] = temp;//temp是大數除以2的餘數
for (j = 0; j < s.length(); j++)
if (array[j] != 0)
break;
if (j == s.length())//array中所有元素均為0,計算完畢
}} system("pause");
return 0;
}
【記錄一下自己思考的過程,若有更為簡便的方法,歡迎指導(●'◡'●)】 C 進製轉換
十進位制轉二進位制 console.writeline 十進位制166的二進位制表示 convert.tostring 166,2 十進位制轉八進位制 console.writeline 十進位制166的八進位制表示 convert.tostring 166,8 十進位制轉十六進製制 console...
C 進製轉換
由於二進位制數在c 中無法直接表示,所以所有二進位制數都用乙個字串來表示 例如 二進位制 1010 表示為 字串 1010 int d 10 十進位制轉二進位制字串 console.writeline convert.tostring d,2 輸出 1010 十進位制轉十六進製制字串 console...
C 進製轉換
將二進位制轉換成十進位制 public int converttoint string str 將二進位制轉換成八進位制 public string convertto8 string bin 將二進位制轉換成十六進製制 public string convertto16 string bin co...