題目:輸入乙個十進位制數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 ...