新聞中心

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

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

作者: 時(shí)間:2013-12-02 來(lái)源:網(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)存,不知是否精簡(jiǎn),先用著再說(shuō)!String 轉(zhuǎn) unsigned 的要反過(guò)來(lái)先減'0'再乘,不過(guò)要檢查是否小于等于255。等寫好了再放上來(lái).



評(píng)論


相關(guān)推薦

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

關(guān)閉