將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。
多組資料,每行為乙個長度不超過30位的十進位製非負整數。(注意是10進製數字的個數可能有30個,而非30bits的整數)
每行輸出對應的二進位制數。示例1
0138
0111① 本題輸入的數可能多達30多位,因此無法用整型數來儲存該題輸入,只能用字串來模擬1000
② 對於取模運算,可以將其轉換為對字串最低數字進行取模運算
③ 對於整除運算,則需要重新寫乙個函式來模擬:
把字串從高到低逐位除以除數,保留餘數,餘數乘以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 輸出順...