數制轉換 棧的應用

2021-06-23 03:42:20 字數 607 閱讀 2390

問題描述:

將乙個非負的十進位制整數n轉換為另乙個等價的基為b的b進製數的問題。

解答:按除2取餘法,得到的餘數依次是1、0、1、1,則十進位制數轉化為二進位制數為1101。

分析:由於最先得到的餘數是轉化結果的最低位,最後得到的餘數是轉化結果的最高位,因此很容易用棧來解決。

**如下:

#include#include#includetypedef struct node

node ,*pnode;

typedef struct stack

stack,*pstack;

bool empty(pstack ps)

void initstack(pstack ps)

else

return ;

}void push(pstack ps,int val)

void pop(pstack ps)

else }

int main()

while(s.pbottom!=null)

system("pause");

return 0;

}

棧的應用(數制轉換)

程式功能 對於輸入的任意乙個非負十進位制整數,列印輸出與其等值的八進位制數。標頭檔案 c3 1.h ifndef c 3 1 h define c 3 1 h include include include define true 1 define false 0 endif algorithm.h...

棧的應用 數制轉換

數制轉換 十進位制數n和其它d進製數的轉換是計算機實現計算的基本問題,其解決方法很多,其中一種簡單方法基於以下原理.n n div d d n mod d 其中 div為整除運算,mod 為求餘運算.例如 10進製數1348轉換為8進製為 2504.其運算過程如下 n n div d n mod d...

棧的應用1 數制轉換

一般分為 二 八 十 十六這幾種常見的 沒錯就是我現在能見到的 x進製就是0 x 1構成每一位,就如二進位制是0 1,八進位制是0到7 數制轉換一直是計算機的乙個基本問題,目前已經有了很多的解決方法。如果是其他進製轉換十進位制 因為十進位制多數人還是比較熟悉的,畢竟買菜時價錢不是二進位制的 先找到每...