成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux下的itoa函數

系統 Linux
linux需要itoa函數,下面我就提供一份跨平臺的itoa函數。

linux需要itoa函數,下面我就提供一份跨平臺的itoa函數。

//return the length of result string. support only 10 radix for easy use and better performance

int my_itoa(int val, char* buf)

{

const int radix = 10;

char* p;

int a; //every digit

int len;

char* b; //start of the digit char

char temp;

p = buf;

if (val < 0)

{

*p++ = '-';

val = 0 - val;

}

b = p;

do

{

a = val % radix;

val /= radix;

*p++ = a + '0';

} while (val > 0);

len = (int)(p - buf);

*p-- = 0;

//swap

do

{

temp = *p;

*p = *b;

*b = temp;

--p;

++b;

} while (b < p);

return len;

}

這個函數會返回字符串的長度,在某些場合下會很有用。

我測試了一下,這個函數大概比MFC自帶的itoa要快20%左右。

(因為不需要在循環體內判斷if (a > 9)了,所以更快)。

2010/1/8 改進版:

//return the length of result string. support only 10 radix for easy use and better performance

int my_itoa(int val, char* buf)

{

const unsigned int radix = 10;

char* p;

unsigned int a; //every digit

int len;

char* b; //start of the digit char

char temp;

unsigned int u;

p = buf;

if (val < 0)

{

*p++ = '-';

val = 0 - val;

}

u = (unsigned int)val;

b = p;

do

{

a = u % radix;

u /= radix;

*p++ = a + '0';

} while (u > 0);

len = (int)(p - buf);

*p-- = 0;

//swap

do

{

temp = *p;

*p = *b;

*b = temp;

--p;

++b;

} while (b < p);

return len;

}

改進:將除法運算從有符號整數改為了無符號整數。典型速度從240毫秒左右,提高到了180毫秒左右。作為對比,MFC自帶的itoa耗時是320毫秒左右。

(x86機器做無符號整數的除法要更快一些,匯編指令不同)

【編輯推薦】

  1. linux下快速結束應用程序
  2. Linux安全編程:如何編寫安全的應用程序
  3. Linux應用程序安裝與管理
責任編輯:趙寧寧 來源: 天極網
相關推薦

2021-03-25 14:25:24

Linux運維Linux系統

2017-03-08 15:39:11

Linuxselect函數

2011-04-25 16:35:06

Linux調用

2017-03-16 14:37:05

LinuxShell函數

2011-01-07 11:38:36

linux郵件配置

2011-02-22 13:28:43

Linuxvsftpd配置

2011-01-18 16:23:23

2011-03-30 11:04:11

Linuxmrtg

2011-12-01 13:03:00

2009-11-23 11:51:07

linuxscp

2011-03-21 13:01:56

LinuxNagios安裝

2014-08-01 15:38:37

Linux進程管理

2010-01-15 10:32:24

LinuxMemcache

2011-01-13 10:50:50

2011-01-18 14:24:03

Linuxsendmail配置

2009-07-06 09:41:18

linux

2009-12-01 18:41:08

SUSE Linux

2011-07-12 15:21:51

POSIX規范Linux

2011-01-11 16:00:13

Linux軟件安裝

2011-03-03 15:21:11

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本久久福利 | 久久久久久国产精品 | 亚洲精品一二区 | 成人毛片视频免费 | 欧美激情五月 | 日韩欧美中文 | 精品国产视频在线观看 | 欧美精品综合在线 | 欧美精品在线观看 | 日韩在线精品视频 | 一级日批片| 欧美精品首页 | 男人的天堂久久 | 国产电影一区二区 | 欧美一级小视频 | 成人深夜小视频 | 精品国产一区二区三区av片 | 免费一区二区三区 | 久久免费福利 | 欧美国产中文字幕 | 五月婷婷导航 | 91久久精品 | 狠狠婷婷综合久久久久久妖精 | 精品国产免费一区二区三区演员表 | 亚洲欧美中文日韩在线 | 中文字幕一区二区视频 | 久在线观看| 日韩av手机在线观看 | 成人在线观看网站 | 中文字幕免费视频 | 三级黄色大片网站 | 天堂一区二区三区四区 | 欧美高清一级片 | 欧美xxxx日本 | 久久久久国产精品一区 | 国产精品一区二 | 日韩电影免费观看中文字幕 | 性一区 | www.色综合| 一区二区三区国产好 | 米奇7777狠狠狠狠视频 |