十進位制轉二進位制

2021-10-17 08:38:14 字數 611 閱讀 1453

將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。

多組資料,每行為乙個長度不超過30位的十進位製非負整數。

(注意是10進製數字的個數可能有30個,而非30bits的整數)

每行輸出對應的二進位制數。
示例1

013

8

0111

1000

① 本題輸入的數可能多達30多位,因此無法用整型數來儲存該題輸入,只能用字串來模擬

② 對於取模運算,可以將其轉換為對字串最低數字進行取模運算

③ 對於整除運算,則需要重新寫乙個函式來模擬:

把字串從高到低逐位除以除數,保留餘數,餘數乘以10後和低一位一起進行處理。(可能會前置多餘的0,這時只需取首個非0位之後的字串)

#include#include#include#includeusing namespace std;

string divide(string str,int x)//字串除法

for(int i=binary.size()-1;i>=0;i--)

cout

return 0;

}

二進位制轉十進位制

二進位制轉十進位制方法很多,如字元陣列,指標法等 下面用字串函式的方法實現 二進位制轉十進位制 主要用 到 string函式性質及pow求乙個數的n次方的函式過載 by adengou 2010.08.04 win7 dev c 5.0 vs 2010 通過 include include incl...

十進位制轉二進位制

includeint dg unsigned n,int c 注意 引數型別是unsigned int main 陣列全部初始化為0 printf d n sizeof int unsigned temp,u temp u 4294967295u int tu int u printf u u,tu...

十進位制轉二進位制

宣告 最後一種降冪法頗具魅力,而且與方法二有異曲同工之妙 十進位制轉二進位制的幾種方法 輸入 乙個無符號的十進位制整數 輸出 對應十進位制的二進位制顯示 例如 input 10,output 1010 方法一 除二取餘法 forinput 0 cout input 2 input 2 end 輸出順...