• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)中unsigned char轉(zhuǎn)字符串的方法

    單片機(jī)中unsigned char轉(zhuǎn)字符串的方法

    作者: 時(shí)間:2013-12-02 來源:網(wǎng)絡(luò) 收藏

    在單片機(jī)中,常用到數(shù)字與字符的方法,在C中都是使用itoa函數(shù),C51也有這個(gè)函數(shù),但是,8051的RAM是很有限的,所以盡量避免使用int型,常用的是unsigned 。當(dāng)需要轉(zhuǎn)換成時(shí)用itoa的話,還是有點(diǎn)浪費(fèi)。還是自力更生,自己寫了一個(gè),代碼如下:

    typedef unsigned BYTE;

    BYTE * ByteToStr(BYTE n)

    {

    BYTE str[4];

    BYTE * pStr;

    pStr = str;

    if (n>99)

    {

    *pStr = n/100;

    n %= 100;

    *pStr += '0';

    pStr ++ ;

    *pStr = n/10;

    n %= 10;

    *pStr += '0';

    pStr ++ ;

    }

    if (n>9)

    {

    *pStr = n/10;

    n %= 10;

    *pStr += '0';

    pStr ++ ;

    }

    if (n10)

    {

    *pStr = n + '0';

    pStr ++;

    }

    *pStr = 0;

    return str;

    }

    用了5Byte內(nèi)存,不知是否精簡,先用著再說!String 轉(zhuǎn) unsigned 的要反過來先減'0'再乘,不過要檢查是否小于等于255。等寫好了再放上來.



    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 石屏县| 班戈县| 蒙自县| 长乐市| 来宾市| 云安县| 莱州市| 济阳县| 清水县| 五寨县| 祁门县| 冀州市| 纳雍县| 虹口区| 永善县| 黄大仙区| 鄯善县| 霍林郭勒市| 鹿泉市| 金平| 钟祥市| 柳江县| 疏勒县| 汉阴县| 曲松县| 河西区| 达孜县| 连山| 柘城县| 永济市| 乌什县| 当涂县| 峡江县| 马尔康县| 尚志市| 易门县| 巴东县| 上犹县| 巢湖市| 湖口县| 葫芦岛市|