資料結構 進製轉換

2021-09-26 07:39:33 字數 748 閱讀 2219

將八進位制數字 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 取餘,逆序排列

小數部分:乘 n 取整,順序排列

十進位制小數 0.6875 轉換成二進位制小數的結果為 0.1011

如果乙個數字既包含了整數部分又包含了小數部分,那麼將整數部分和小數部分開,分別按照上面的方法完成轉換, 然後再合併在一起即可。例如:

十進位制數字 36926.930908203125 轉換成八進位制的結果為 110076.7345;

十進位制數字 42.6875 轉換成二進位制的結果為 101010.1011。

注意,十進位制小數轉換成其他進製小數時,結果有可能是乙個無限位的小數。請看下面的例子:

十進位制 0.51 對應的二進位制為 0.100000101000111101011100001010001111010111…,是乙個迴圈小數;

十進位制 0.72 對應的二進位制為 0.1011100001010001111010111000010100011110…,是乙個迴圈小數;

資料結構 (棧) 進製轉換

資料結構實驗之棧一 進製轉換 輸入乙個十進位製非負整數,將其轉換成對應的 r 2 r 9 進製數,並輸出。input 第一行輸入需要轉換的十進位製非負整數 第二行輸入 r。output 輸出轉換所得的 r 進製數。example input 1279 8example output 2377 c 如...

資料結構 棧 進製轉換

棧的應用,進製轉換問題 演算法很簡單,除 取餘法,用棧來把餘數存起來,再出棧即可 上 進製轉換 seqsatck,測試ok author qian jipeng date 2019 3 23 satus done include include define maxsize 10 typedef s...

資料結構c 進製轉換問題(棧)

用棧來實現進製進製轉換 應使用輾轉相除法 注意棧的操作 include include define s size 100 define stackincrement 10 typedef struct sqstacksqstack 初始化空棧 void initstack sqstack s 判斷...