題目描述
將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。
輸入多組資料,每行為乙個長度不超過30位的十進位製非負整數。
(注意是10進製數字的個數可能有30個,而非30bits的整數)
輸出每行輸出對應的二進位制數。
樣例輸入985
2111126
樣例輸出1111011001
11010011
10001100110
思路:
30位的十位數如果採用普通整形儲存是存不下的,因此只能用陣列來儲存每一位數字,由於是轉換成二進位制,除基取餘法可以實現,餘數只有0和1,除法也只需要分別拿有效資料第一位來判斷奇偶,奇數的話就給下一位加10。
**:
#include
intmain()
int j =0;
//j為當前第乙個有效位置
do n_int[i]/=
2;}for
(; j < lenth &&
!n_int[j]
; j++);
//尋找新的有效位置
}while
(j < lenth)
;for
(int i = num -
1; i >-1
; i--
)printf
("\n");
}return0;
}
16進製制轉2進製再轉8進製
藍橋杯刷題計畫,由於最大有十萬位16進製制數,所以直接選擇整形是無法儲存的,考慮到16進製制,8進製,2進製之間的關係,所以我們選擇,先轉2進製,再有2進製轉換為8進製。由於,一位16進製制數對應4位2進製數,一位8進製數對應3位2進製數,於是,我們可以用先用map進行乙個對映儲存,便於直接取用。另...
十六進製制轉八進位制演算法
兩種解法 都需要中轉一次 第一種 十六轉十,十轉八.由於執行多次迴圈,當資料很大時,超時.include includeusing namespace std long long lc int a,int n 10 8 int a 10 int l sum int i 0 while l for i...
演算法訓練 十進位制轉2進製輸出
資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 編寫遞迴函式,實現將乙個十進位制的正整數以二進位制的形式輸出。注 不考慮符號位,僅從二進位制數不為0的最高位開始輸出。輸入格式 乙個十進位制正整數 輸出格式 該整數對應的二進位制數 樣例輸入 乙個滿足題目要求的輸入範例。例 96 樣...