C語言 任意進製之間的轉換(支援小數部分)

2021-07-23 19:32:39 字數 1003 閱讀 9577

**

整理一下,免得自己忘記,也希望能幫到有需要的人。

————————————————————————我是一條華麗的分割線————————————————————————

全域性變數:雙精度浮點數p、字元陣列out。

當其他進製轉換成十進位制時,將轉換結果儲存在浮點數p中;當十進位制轉換成其他進製時,將結果以字串的形式存放在字元陣列out中。

轉換過程分為整數部分和小數部分,整數部分轉換後需逆序輸出,而小數部分順序輸出。

例如:

conversion(num,8,10);
表示將num字串陣列所對應的乙個八進位制數轉換成乙個十進位制數。

直接上**

1

int conversion(char num[20], int t, intn)2

17}18

19for(j=x-1;j>=0;j--)

2037

38if(num[x]=='.'

) 39 57

}58//g_print("%f",p);

59if(n==10)//

如果要轉換成十進位制

6065

return0;

66}

6768

else

//如果要轉換成其他進製69

77 c=0

; 78

if(p!=(int)p)//

選擇性計算,如果是整數就不用進行這一步的計算了79

89}90if(num[0]=='-'

)9195for(j=i-1;j>=0;j--,ii++)//

反序輸出,大於10的數字進行相應的變化 96

114if(p!=(int)p)//

選擇性輸出,這樣可以節約輸出時間和程式的執行時間

115137

}138

//puts(out);

139return0;

140}

141 }

進製轉換 支援十進位制以上的情況

基礎的進製轉換模板 支援10進製以上,大於十進位制的位數用大寫字母表示 首先 輸入乙個數字和其進製,就能輸出其數字的十進位制數。再輸入乙個十進位制數字和其進製,就能輸出其數字的進製數。第一次輸入數字的時候,可以輸入大寫英文本母來表示大於10的數字。include include include in...

C語言之任意進製的轉換

我們都知道轉換進製是乙個讓人比較頭疼的事情,下面我的 不是最好的,也就僅僅是乙個思路而已,至少我認為使用棧來進行進製轉換是比較合適的一種方法,好了,不多敘述了。include include 函式trans將無符號整數n翻譯成d 2 d 16 進製表示的字串s define m sizeof uns...

C語言任意進製數的轉換

c語言任意進製數的轉換 hud 2031 problem description 輸入乙個十進位制數n,將它轉換成r進製數輸出。input 輸入資料報含多個測試例項,每個測試例項包含兩個整數n 32位整數 和r 2 r 16,r 10 output 為每個測試例項輸出轉換後的數,每個輸出佔一行。如果...