新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 第15節:十進制與十六進制

        第15節:十進制與十六進制

        作者: 時間:2016-11-22 來源:網絡 收藏
        從業十年,教你單片機入門 第15講:

        十六進制是二進制的縮寫形式,而C語言程序里只用了十進制和十六進制這兩種書寫格式。它們各有什么應用特點?十六進制方便人理解機器,通常應用在配置寄存器,底層通訊驅動,底層IO口驅動,以及數據的移位,轉換和合并等場合。而十進制則方便人理解值的大小,在應用層經常用。總之,進制只是數據的表現形式而已。

        本文引用地址:http://www.104case.com/article/201611/319825.htm

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

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

        第二步:點擊計算器窗口上面的“查看”菜單,在下拉菜單中點擊“科學型”,此時“計算器” 的窗口會變長。按鍵上方出現“十六進制”,“十進制”,“八進制”,“二進制”等單選項。

        第三步:在按鍵上方“十六進制”,“十進制”,“八進制”,“二進制”等單選項中,單擊所要切換到的進制,然后按數字按鍵輸入數據。輸完數據后,再單擊切換到所要轉換的進制中,即可完成各進制的數據切換。注意,在切換到“十六進制”的時候,在右邊“四字”,“雙字”,“單字”,“字節”中選中“四字”。

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

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

        現在我們編寫一個程序來觀察十進制和十六進制的關系,最后把程序編譯后下載到堅鴻51學習板觀察結果。請直接復制第十節模板程序,修改的main程序代碼如下:

        void main() //主程序

        {

        /*---C語言學習區域的開始---------------------------------------------------------------------------*/

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

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

        a=230; //把十進制的230賦值給變量a,在朱兆祺51學習板上觀察一下它的十六進制是不是E6。

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

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

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

        /*---C語言學習區域的結束---------------------------------------------------------------------------*/

        while(1)

        {

        initial();

        key_service();

        display_service();

        }

        }

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

        上堅鴻51學習板觀察程序執行的結果如下:

        十六進制 十進制

        unsigned char變量a E6 230

        unsigned char變量b AC 172

        詳細圖解步驟:bbs.21ic.com/forum.php

        下節預告:判斷語句“if”和等于關系符“==”。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 斗六市| 会宁县| 准格尔旗| 洪洞县| 南乐县| 安陆市| 梅河口市| 五大连池市| 高邮市| 昌宁县| 宁陕县| 西乌珠穆沁旗| 武清区| 射洪县| 雷山县| 铜川市| 横山县| 八宿县| 饶平县| 北流市| 枝江市| 淮滨县| 莆田市| 财经| 日喀则市| 纳雍县| 明溪县| 皋兰县| 淮南市| 馆陶县| 合川市| 阿尔山市| 靖州| 石台县| 昂仁县| 清流县| 新乡县| 丹凤县| 清涧县| 镇安县| 聂荣县|