十進位制數轉換成x進製 棧實現

2021-06-09 16:52:13 字數 1035 閱讀 6130

題目:輸入乙個十進位制數n,以及要求轉換成的進製x,輸出x進製下的n.用棧實現.約定輸入的數為正整數,進製x為2-36,輸出的x進製數有0-9十個數字及26個大寫字母組成.

分析:進製轉換中很簡單的乙個,用數n不斷除x,並將商賦給n,直到n變為0,在這個不斷相除的過程中,每一次相除都會產生乙個餘數,把餘數依次排列,逆序組成的數就是x進製下的n了.這個原理大家應該知道的.可以用陣列,實現此題.但,棧的原理是後進先出,此題也就是要逆序輸出.不過.這個棧的函式模版,要自己寫嗎?不知道有木有只要加乙個標頭檔案就可以用棧函式的呢...不過,不得不說,棧真的很強大....哈哈....       棧的初學者....

**:

//  這是個用棧把十進位制數n轉換成x進製的數的程式,預設輸入的數是正整數

// 轉換的進製在2-36之間,有0-9以及26個大寫字母來表示

#include#include#define stack_init_size 100

#define stackincrement 10

#define overflow -2

#define error 0

#define ok 1

typedef struct

sqstack;

typedef int status;

status initstack(sqstack &s) //構造空棧

status push(sqstack &s,int e) //插入元素e為新的棧頂元素

*s.top++=e;

return ok;

}status stackempty(sqstack s) //判斷是否為空棧

status pop(sqstack &s,int &e) //刪除棧頂元素並用e返回其值

int main()

printf("十進位制數%d轉換成%d進製為:\n",m,x);

while(!stackempty(s))

printf("\n\n請輸入十進位制數n:\n");

} return 0;

}

python棧實現十進位制轉換成x進製

from pythonds import stack def devidebybase decnumber,base base x remstack stack 空棧用來儲存餘數。while decnumber 0 eg.2進製是一直除以2,直到商為0,將餘數逆向排列,最後得到的是轉換後的頂 最左邊...

十進位制轉換成其他進製數

十進位制轉換成其他進製數 class trans public static string tobinary int num 十進位制轉換成二進位制數 public static string tooctal int num 十進位制轉換成八進位制數 public static string toh...

BCD轉換成十進位制

bcd碼是指用二進位制來表示十進位制數的編碼,即用4位二進位制來表示一位十進位制數,因此4位二進位制數表示最大的十進位制數9 1001 只取十六個數中的十個數 有別於8421碼 為了表示兩個十進位制數 十位 個位 需要兩個bcd碼 8位 可以用char 型別來儲存,比如 bcd碼 0x99 153 ...