遞迴實現十進位制轉X進製

2021-04-02 11:47:27 字數 1257 閱讀 4378

遞迴實現十進位制轉x進製

我們在初學進製轉換的時候,最常用的十進位制轉換其他進製方法當數「除n取餘法」了,其中n是目標進製的基數。例如我們要把十進位制的9轉換成2進製,用除2取餘法有如下過程:

2 | 9

-----

2 | 4    ..... 1

------

2 | 2   ..... 0

------

2 | 1  ..... 0

------

0  ..... 1

將每一步的餘數自下而上輸出即得9的二進位制表示,把除數2換成其他整數還可以得到9的其他進製的表示。模擬這一過程,編寫了函式convertor,可以完成十進位製到任意進製數的轉換。**如下:

9 void convertor(int n, int base); /*n為待轉換十進位制數,base為目標進製基數*/

10

11 int main()

12

16

17 void convertor(int n, int base)

18

29 }

呼叫函式convertor(34,2),輸出「1 0 0 0 1 0」,即為34的二進位製碼。需要說明的是,當進製基數大於10時,程式並沒有安排其他字母來代替大於10的數字,如當呼叫形式為convertor(31,16)時,輸出為「1 15」,它相當於16進製表示法的1f,程式僅簡單地將結果的數字之間用空格隔開。

m進製轉十進位制

題目描述 description 將m進製數n轉化成乙個十進位制數 m 16 題目保證轉換後的十進位制數 100 輸入描述 input description 共一行n和m 輸出描述 output description 共乙個數 表示m進製的n化成十進位制的數 樣例輸入 sample input ...

十六進製制轉十進位制

create function fn hextobinary hex varchar 8 returns varchar 255 asbegin declare base tinyint declare string varchar 255 declare return varchar 255 de...

十進位制轉十六進製制

問 題 描 述 十 六 進 制 數 是 在 程 序 設 計 時 經 常 要 使 用 到 的 一 種 整 數 的 表 示 方 式 它 有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 共 16 個符號,分別表示十進位制數的 0 15。十六進製制的計數方法是滿16 進 1,所以十進位制數...