高效實(shí)現(xiàn)整型數(shù)字轉(zhuǎn)字符串int2str的方法
將數(shù)字轉(zhuǎn)換成字符串有很多方法,現(xiàn)在給出一種高效的實(shí)現(xiàn)方法。開(kāi)闊眼界。
char* int2str(unsigned int values) { const char digits[11] = "0123456789"; char* crtn = new char[32]; crtn += 31; *crtn = '\0'; do { *--crtn = digits[values%10]; } while (values /= 10); return crtn; }
以上是沒(méi)有考慮那么一點(diǎn)點(diǎn)空間的問(wèn)題;如果考慮那點(diǎn)空間問(wèn)題,可以這樣做。
char* int2str(unsigned int values) { int len = 0; const char digits[11] = "0123456789"; unsigned int tvalue = values; while(tvalue >= 100) { tvalue /= 100; len += 2; } if (tvalue > 10) len += 2; else if(tvalue > 0) len++; char* crtn = new char[len+1]; crtn += len; *crtn = '\0'; do { *--crtn = digits[values%10]; } while (values /= 10); return crtn; }
同樣,帶符號(hào)的整數(shù)一樣的做法。
以上這篇高效實(shí)現(xiàn)整型數(shù)字轉(zhuǎn)字符串int2str的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
用C語(yǔ)言實(shí)現(xiàn)計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了用C語(yǔ)言實(shí)現(xiàn)計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10用C++實(shí)現(xiàn),將一句話里的單詞進(jìn)行倒置的方法詳解
本篇文章是對(duì)用C++實(shí)現(xiàn),將一句話里的單詞進(jìn)行倒置的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C++多態(tài)的實(shí)現(xiàn)及原理詳細(xì)解析
C++的多態(tài)性用一句話概括就是:在基類(lèi)的函數(shù)前加上virtual關(guān)鍵字,在派生類(lèi)中重寫(xiě)該函數(shù),運(yùn)行時(shí)將會(huì)根據(jù)對(duì)象的實(shí)際類(lèi)型來(lái)調(diào)用相應(yīng)的函數(shù)。如果對(duì)象類(lèi)型是派生類(lèi),就調(diào)用派生類(lèi)的函數(shù);如果對(duì)象類(lèi)型是基類(lèi),就調(diào)用基類(lèi)的函數(shù)2013-09-09解析C++函數(shù)的默認(rèn)參數(shù)和占位參數(shù)及較之C語(yǔ)言的拓展
這篇文章主要介紹了C++中的默認(rèn)參數(shù)和占位參數(shù)及較之C語(yǔ)言的拓展,需要的朋友可以參考下2016-03-03C語(yǔ)言每日練習(xí)之進(jìn)制轉(zhuǎn)換
這篇文章主要介紹了C語(yǔ)言進(jìn)制轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11關(guān)于單片機(jī)按鍵問(wèn)題性能提升總結(jié)
今天小編就為大家分享一篇關(guān)于關(guān)于單片機(jī)按鍵問(wèn)題性能提升總結(jié),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12