利用堆疊實現十進位制向其他進製的數制轉換 問題

2021-10-10 01:46:14 字數 830 閱讀 8909

利用輾轉相除法

比如 3467%8--------------3

433%8-----------------------1

54%8-------------------------6

6%8---------------------------6

(3467)10=(6613)8

得到的餘數和輸出的餘數字置正好顛倒,所以用棧

思想 n為需轉換的數 r為進製

當n>0時

(1)當n!=0時,將n%r壓入棧中

當n=0時,將棧中的內容依次出棧

(2)用n/r代替n;

(3)當n!=0時,重複操作 (1)和(2);

~~```cpp

//數制的轉換

#include#include#include//呼叫c++中stack類函式

using namespace std;

void conversion (int n,int r)

while(p.empty()!=1) }

int main()

利用自定義的順序棧轉換 //這個比較簡單//

#include

using

namespace std;

#define l 10

void

conversion

(int n,

int r)

while

(top!=-1

)}intmain()

python實現十進位制轉換其他進製

這是python實現十進位制轉換二進位制的高階版 步驟與轉化為二進位制相似 1 十進位制除整數 2 餘數壓棧 3 順序出棧 十進位制轉其他進製 defbaseconverter number,base digits 0123456789abcdef srem 1 2兩步 除整數,餘數壓棧 while...

C 十進位制轉其他進製

c 十進位制轉其他進製 開發工具與關鍵技術 c visualstudio在學習c 基礎過程中,接觸到進製轉換,個人想要嘗試一下用c 來寫乙個進製轉換,這篇文章主要內容是十進位制轉其他進製,現在的進製有十六進製制 十進位制 八進位制 二進位制。我們先來看 include include using n...

十進位制向十六進製制的轉換

一 程式 二 技巧方面 1.while的迴圈條件是num!0 2.同時num是每次迴圈後向右移動4位後的結果。3.陣列用來儲存資料,但是如何去掉不需要的0的問題上,程式使用pos的位置來輸出起點。4.num 15得到的將會是0 15的數字,如何轉化為超過10後為字母的為題上,使用數字即為數字的下標。...