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