寫乙個程式,將輸入的十進位制資料m 轉換為八進位制資料m8,將其除錯通過.在此基礎上修改程式,實現十進位制資料m 向n 進製(2或8或16)的轉換.
#include
#include
#define init_size 100
#define n 80
typedef
struct stackstack;
/********初始化構建乙個空棧*********/
void
initstack
(stack &s)
//push函式將元素壓入棧
void
push
(stack &s,
int m)
s.base=p;
s.top=s.base+n;
s.size+
=n;}
*s.top=m;
//將新元素壓進棧頂;
s.top++
;//棧頂指標向上移動1個單位
}/********出棧函式*********/
intpop
(stack &s)
/********計算相應的進製並輸出*********/
void
calcu
(stack &s,
int n,
int r)
while
(s.top!=s.base)
else
printf
("%d"
,m);
//2進製和8進製 }}
intmain()
printf
("對應的二進位制的是:");
calcu
(s,n,2)
;printf
("\n對應的八進位制的是:");
calcu
(s,n,8)
;printf
("\n對應的十六進製制的是:");
calcu
(s,n,16)
;return0;
}
注意:此**具有侷限性,十位以內的運算正確,超出十位則會發生錯誤
十進位制 轉換為 二進位制
聽說優酷前端面試有問進製數轉換的,甚至是負正整數轉換為二進位制,那就索性一次整個明白 正整數轉二進位制 負整數轉二進位制 小數轉二進位制 1 正整數轉成二進位制。口訣 除二取餘,倒序排列,高位補零。42 除以2得到的餘數 右邊 為010101,然後倒著排一下就是取到的二進位制了 如下圖 計算機內部表...
用棧實現十進位制轉換為二進位制
include include include include include process.h define size 100 define stackincrement 10 define ok 1 define error 0 define true 1 define false 0 typ...
十進位制轉換二進位制 棧實現
c語言十進位制轉換二進位制,用順序棧實現。完整 如下 include include define maxsize 20 靜態順序棧儲存的最大空間 typedef struct sqstack void initstack sqstack s 棧的初始化 intpush sqstack s,int ...