第15節(jié):十進(jìn)制與十六進(jìn)制
十六進(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)論