十進位製裝換為二進位制至九進製之間的任意進製輸出

2021-08-09 09:22:55 字數 1020 閱讀 7381

內容:把十進位制轉換為二進位制至九進製之間的任意進製輸出

演算法原理:n=(n/d)*d+n%d,先得到的餘數為低位後輸出,後得到的餘數為高位先輸出,所以正好可以利用棧的特性,將求得的餘數放入到棧中,然後再彈出。

類的定義

#includeusing namespace std;

const int stacksize=100;

class seqstack

/*初始化乙個空棧*/

~seqstack(){};

void push(int x); /*將x入棧*/

int getpop(); /*彈出棧頂元素*/

int pop(); /*出棧*/

int empty()

else

} void decimaltor(int m,int r);

private:

int data[stacksize]; /*存放棧元素的陣列*/

int top;

};

成員函式

void seqstack::push(int x)

}int seqstack::pop()

}void seqstack::decimaltor(int n,int r)

while(top!=-1)

{cout<

主函式int main()

{ int n,r;

cout

cout<

cout

cout<

seqstack one;

one.decimaltor(n,r);

cout<

執行截圖

十進位制 轉換為 二進位制

聽說優酷前端面試有問進製數轉換的,甚至是負正整數轉換為二進位制,那就索性一次整個明白 正整數轉二進位制 負整數轉二進位制 小數轉二進位制 1 正整數轉成二進位制。口訣 除二取餘,倒序排列,高位補零。42 除以2得到的餘數 右邊 為010101,然後倒著排一下就是取到的二進位制了 如下圖 計算機內部表...

(string)十進位制 轉換為 二進位制

將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。輸入描述 多組資料,每行為乙個長度不超過30位的十進位製非負整數。注意是10進製數字的個數可能有30個,而非30bits的整數 輸出描述 每行輸出對應的二進位制數。輸入 013 8輸出 0111 1000 下面是王道上的解法,模擬的是...

035 十進位制轉換為二進位制

例 輸入乙個十進位制正整數,將其轉換為二進位制輸出。核心演算法 十進位制轉換為二進位制,可參考 二 八 十 十六進製制轉換 分析 將一串未知數字按照某種指定順序輸出時,可以考慮先將每個數字分別存入陣列中,通過陣列下標來確定位置再輸出 注意 int型佔16個二進位制位 二進位制數的最高位是符號位,不參...