新聞中心

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

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

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

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

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

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

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

第二步:點(diǎn)擊計(jì)算器窗口上面的“查看”菜單,在下拉菜單中點(diǎn)擊“科學(xué)型”,此時(shí)“計(jì)算器” 的窗口會(huì)變長(zhǎng)。按鍵上方出現(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)制”的時(shí)候,在右邊“四字”,“雙字”,“單字”,“字節(jié)”中選中“四字”。

第四步:把十進(jìn)制轉(zhuǎn)換到十六進(jìn)制的方法如下:?jiǎn)螕羟袚Q到“十進(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)制的方法如下:?jiǎn)螕羟袚Q到“十六進(jìn)制”,然后按數(shù)字按鍵輸入數(shù)據(jù)。輸完數(shù)據(jù)后,再單擊切換到“十進(jìn)制”,即可完成進(jìn)制的轉(zhuǎn)換。比如輸入十六進(jìn)制的“AC”,切換到十進(jìn)制就變成了“172”。

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

void main() //主程序

{

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

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

unsigned char b; //定義一個(gè)變量b,并且分配了1個(gè)字節(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這個(gè)數(shù)值放到窗口變量0里面顯示

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

/*---C語(yǔ)言學(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)制格式了。松開(kāi)S9按鍵就是當(dāng)前窗口的十進(jìn)制數(shù)據(jù)格式。而堅(jiān)鴻51學(xué)習(xí)板右上角的16個(gè)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ù)告:判斷語(yǔ)句“if”和等于關(guān)系符“==”。



評(píng)論


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

關(guān)閉