新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 第15節(jié):十進(jìn)制與十六進(jìn)制

第15節(jié):十進(jìn)制與十六進(jìn)制

作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
從業(yè)十年,教你單片機(jī)入門 第15講:

十六進(jìn)制是二進(jìn)制的縮寫形式,而C語言程序里只用了十進(jìn)制和十六進(jìn)制這兩種書寫格式。它們各有什么應(yīng)用特點(diǎn)?十六進(jìn)制方便人理解機(jī)器,通常應(yīng)用在配置寄存器,底層通訊驅(qū)動,底層IO口驅(qū)動,以及數(shù)據(jù)的移位,轉(zhuǎn)換和合并等場合。而十進(jìn)制則方便人理解值的大小,在應(yīng)用層經(jīng)常用??傊M(jìn)制只是數(shù)據(jù)的表現(xiàn)形式而已。

本文引用地址:http://butianyuan.cn/article/201611/319825.htm

十進(jìn)制與十六進(jìn)制如何相互轉(zhuǎn)換?其實(shí)很多教科書上有介紹它們之間如何通過手工計(jì)算進(jìn)行轉(zhuǎn)換的方法。但是實(shí)際應(yīng)用中,我從來沒有用過這種手工計(jì)算方法,我用的方法是最簡單直接的,就是借助電腦自帶的計(jì)算器進(jìn)行轉(zhuǎn)換即可?,F(xiàn)在把這種方法介紹給大家。

第一步:點(diǎn)擊電腦左下角“開始”菜單,在下拉菜單中把鼠標(biāo)移動到“所有程序”,在下拉菜單中把鼠標(biāo)移動到“附件”,在下拉菜單中點(diǎn)擊“計(jì)算器”,此時會彈出“計(jì)算器” 的窗口。

第二步:點(diǎn)擊計(jì)算器窗口上面的“查看”菜單,在下拉菜單中點(diǎn)擊“科學(xué)型”,此時“計(jì)算器” 的窗口會變長。按鍵上方出現(xiàn)“十六進(jìn)制”,“十進(jìn)制”,“八進(jìn)制”,“二進(jìn)制”等單選項(xiàng)。

第三步:在按鍵上方“十六進(jìn)制”,“十進(jìn)制”,“八進(jìn)制”,“二進(jìn)制”等單選項(xiàng)中,單擊所要切換到的進(jìn)制,然后按數(shù)字按鍵輸入數(shù)據(jù)。輸完數(shù)據(jù)后,再單擊切換到所要轉(zhuǎn)換的進(jìn)制中,即可完成各進(jìn)制的數(shù)據(jù)切換。注意,在切換到“十六進(jìn)制”的時候,在右邊“四字”,“雙字”,“單字”,“字節(jié)”中選中“四字”。

第四步:把十進(jìn)制轉(zhuǎn)換到十六進(jìn)制的方法如下:單擊切換到“十進(jìn)制”,然后按數(shù)字按鍵輸入數(shù)據(jù)。輸完數(shù)據(jù)后,再單擊切換到“十六進(jìn)制”,即可完成進(jìn)制的轉(zhuǎn)換。比如輸入十進(jìn)制的“230”,切換到十六進(jìn)制就變成了“E6”。

第五步:把十六進(jìn)制轉(zhuǎn)換到十進(jìn)制的方法如下:單擊切換到“十六進(jìn)制”,然后按數(shù)字按鍵輸入數(shù)據(jù)。輸完數(shù)據(jù)后,再單擊切換到“十進(jìn)制”,即可完成進(jìn)制的轉(zhuǎn)換。比如輸入十六進(jìn)制的“AC”,切換到十進(jìn)制就變成了“172”。

現(xiàn)在我們編寫一個程序來觀察十進(jìn)制和十六進(jìn)制的關(guān)系,最后把程序編譯后下載到堅(jiān)鴻51學(xué)習(xí)板觀察結(jié)果。請直接復(fù)制第十節(jié)模板程序,修改的main程序代碼如下:

void main() //主程序

{

/*---C語言學(xué)習(xí)區(qū)域的開始---------------------------------------------------------------------------*/

unsigned char a; //定義一個變量a,并且分配了1個字節(jié)的RAM空間。

unsigned char b; //定義一個變量b,并且分配了1個字節(jié)的RAM空間。

a=230; //把十進(jìn)制的230賦值給變量a,在朱兆祺51學(xué)習(xí)板上觀察一下它的十六進(jìn)制是不是E6。

b=0xAC; //把十六進(jìn)制的AC賦值給變量b,在朱兆祺51學(xué)習(xí)板上觀察一下它的十進(jìn)制是不是172。

GuiWdData0=a; //把變量a這個數(shù)值放到窗口變量0里面顯示

GuiWdData1=b; //把變量b這個數(shù)值放到窗口變量1里面顯示

/*---C語言學(xué)習(xí)區(qū)域的結(jié)束---------------------------------------------------------------------------*/

while(1)

{

initial();

key_service();

display_service();

}

}

如何在堅(jiān)鴻51學(xué)習(xí)板上觀察十進(jìn)制和十六進(jìn)制?S1和S5按鍵是切換窗口按鍵。按住S9按鍵不松手,就可以觀察當(dāng)前窗口數(shù)據(jù)的十六進(jìn)制格式了。松開S9按鍵就是當(dāng)前窗口的十進(jìn)制數(shù)據(jù)格式。而堅(jiān)鴻51學(xué)習(xí)板右上角的16個LED燈就代表了當(dāng)前窗口的二進(jìn)制,亮的代表1,滅的代表0。

上堅(jiān)鴻51學(xué)習(xí)板觀察程序執(zhí)行的結(jié)果如下:

十六進(jìn)制 十進(jìn)制

unsigned char變量a E6 230

unsigned char變量b AC 172

詳細(xì)圖解步驟:bbs.21ic.com/forum.php

下節(jié)預(yù)告:判斷語句“if”和等于關(guān)系符“==”。



評論


技術(shù)專區(qū)

關(guān)閉