十進位制轉二進位制的實現 實驗3 3

2021-08-09 23:18:11 字數 915 閱讀 3715

一、實驗目的

熟練掌棧的結構特點,學會使用棧解決實際問題。實現十進位制轉二進位制的功能。

二、實驗內容

十進位制轉二進位制的乙個演算法是不斷的去餘,再逆序拼接在一起。注意,是逆序,就是先算出來的後拼接。這個特性正和棧的先進後出相匹配,只要把取餘的出來的數壓棧,計算完之後,再逐個彈棧出來,拼接在一起,就可以完成這一功能。之前寫過乙個順序棧的c++模板,這裡給它增加乙個函式方法。下面給給出了上一版本的順序表模板連線。

順序棧模板1.0

seqstack.h 的public中新增:

// 進製轉換

void decimaltor(datatype n,int r);

seqstack.cpp中新增上面方法的實現:

// 在之前模板基礎上增加的功能

template

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

while(top != -1)

}

main.cpp

#include 

#include "seqstack.cpp"

using

namespace

std;

int main(int argc, const

char * argv)

三、心得和體會

一開始看到十進位制轉二進位制這個題目出現在棧和佇列的練習中,一開始我還是有疑惑的,這轉換進製和這個資料結構有關係嗎?可是仔細一想進製轉換的演算法,突然發現其中的相似的先進後出的特點。當然,我寫的這個模板也可以應用於十進位制轉任意進製。這裡就體現了c++模板的便利,棧的用途。

在空閒的時候更新的地方,大家可以捧一下場,嘿嘿~

新世界的大門 (๑•̀ㅂ•́)و✧

二進位制轉十進位制

二進位制轉十進位制方法很多,如字元陣列,指標法等 下面用字串函式的方法實現 二進位制轉十進位制 主要用 到 string函式性質及pow求乙個數的n次方的函式過載 by adengou 2010.08.04 win7 dev c 5.0 vs 2010 通過 include include incl...

十進位制轉二進位制

includeint dg unsigned n,int c 注意 引數型別是unsigned int main 陣列全部初始化為0 printf d n sizeof int unsigned temp,u temp u 4294967295u int tu int u printf u u,tu...

十進位制轉二進位制

宣告 最後一種降冪法頗具魅力,而且與方法二有異曲同工之妙 十進位制轉二進位制的幾種方法 輸入 乙個無符號的十進位制整數 輸出 對應十進位制的二進位制顯示 例如 input 10,output 1010 方法一 除二取餘法 forinput 0 cout input 2 input 2 end 輸出順...