簡單的進製轉換器(基於資料結構)

2021-10-22 10:26:47 字數 1433 閱讀 7682

在十進位制轉換為其他進製時,先算的餘數由下而上組成的數是最終轉換結果,見上圖。而棧這種結構中,元素先進後出。符合進製轉換的方式,故用棧這種結構。

#include

using

namespace std;

#define ok 1

#define error 0

typedef

int status;

typedef

int elemtype;

//定義結構體:

typedef

struct node

stacknode ,

* linkstack ;

//函式的宣告:

status initstack ( linkstack &s )

;status push ( linkstack &s , elemtype e )

;status pop ( linkstack &s , elemtype &e )

;bool stackempty ( linkstack s )

;void

conversion

(int x,

int r)

;//x:轉換數,r:進製

int

main()

else

}}

status initstack ( linkstack   &s )

//入棧

status push ( linkstack &s , elemtype e )

//出棧

status pop ( linkstack &s , elemtype &e )

bool stackempty ( linkstack s )

void

conversion

(int x,

int r)

//x:轉換數,r:進製

while(!

stackempty

(s))

}

while

( x )

關於對上述**的解釋:

x%r的值(值為x➗r的餘數)入棧

十進位制轉二進位制

以202為例。202對先2進行除法運算得出的餘數記錄在右側比如:202/2=101餘0,用101繼續進行除2運算101/2=50餘…最後結果從下到上讀取:11001010。

資料結構 進製轉換

將八進位制數字 423.5176 轉換成十進位制 423.5176 4 82 2 81 3 80 5 8 1 1 8 2 7 8 3 6 8 4 275.65576171875 十進位制 將十進位制轉換為二進位制 八進位制 十六進製制 整數部分和小數部分的演算法不一樣 整數部分 除 n 取餘,逆序排...

C 實現簡單無符號整數進製轉換器

首先,說明一下什麼是進製.n進製就是一種用來表示數值的方法,n進製,顧名思義,逢n進1.我們日常生活中使用的基本都是10進製數,逢10進1 現代計算機處理器所能處理的只能是2進製數,雖然好像前蘇聯曾經嘗試研製10進製計算機,最後當然無疾而終.計算機使用2進製的原因是它實現簡單,僅有0和1兩個碼元,又...

資料結構 (棧) 進製轉換

資料結構實驗之棧一 進製轉換 輸入乙個十進位製非負整數,將其轉換成對應的 r 2 r 9 進製數,並輸出。input 第一行輸入需要轉換的十進位製非負整數 第二行輸入 r。output 輸出轉換所得的 r 進製數。example input 1279 8example output 2377 c 如...