atoi的实现:

#include<iostream>

using namespace std;

int atio1(char *s)

{

int sign=1,num=0;

if(*s=='-')

sign=-1;

s++;

while((*s)!='\0')

{

num=num*10+(*s-'0');

s++;

}

return num*sign;

}

itoa的实现:

法1:

void itoa(int value, char *str)

{

if (value < 0)                                                       //如果是负数,则str[0]='-',并把value取反(变成正整数)

    {

    str[0] = '-';

    value = 0-value;

   }

int i,j;

for(i=1; value > 0; i++,value/=10)                         //从value[1]开始存放value,不过是逆序

str[i] = value%10+'0';                                    //将数字加上0的ASCII值(即'0')得到ASCII值

for(j=i-1,i=1; j-i>=1; j--,i++)                                 //将数字字符反序存放

   {

   str[i] = str[i]^str[j];

    str[j] = str[i]^str[j];

    str[i] = str[i]^str[j];

   }

if(str[0] != '-')                                                         //如果不是负数,则需要把数字字符下标左移一位

  {

     for(i=0; str[i+1]!='\0'; i++)

     str[i] = str[i+1];

    str[i] = '\0';

   }

}

法2:

char *itoa(int num, char *str, int radix)

{

char* ptr = str;

int i;

int j;

while (num)

{

*ptr++  = string[num % radix];

num    /= radix;

if (num < radix)

{

*ptr++  = string[num];

*ptr    = '\0';

break;

}

}

j = ptr - str - 1;

for (i = 0; i < (ptr - str) / 2; i++)

{

int temp = str[i];

str[i]  = str[j];

str[j--] = temp;

}

return str;

}

最新文章

  1. [转]SecureCRT使用配置详细图文教程
  2. 1965: [Ahoi2005]SHUFFLE 洗牌 - BZOJ
  3. 解决IE下jquery ajax无法获得最新数据的问题(IE缓存)
  4. POJ 3191 The Moronic Cowmpouter(进制转换)
  5. Zookeeper实战之单机集群模式
  6. Re-installation failed due to different application signatures./package name has exist
  7. OpenSuSE zypper OpenStack Icehouse repoAdd
  8. Excel如何进行SVN
  9. HDU 2067 小兔的棋盘
  10. PHP关于表单提交 后 post get分页
  11. salt基本使用之一(1)
  12. 配置CLion作为Qt5开发环境
  13. 系统功能调用Windows操作系统原理实验
  14. 解决关于 vue项目中 点击按钮路由多了个问号
  15. Jenkins结合.net平台工具之ReportGenerator
  16. HostAliases向Pod中添加hosts解析
  17. ServiceMesh了解一下
  18. mac电脑设置USB键盘按键方法,设置多显示屏镜像显示器的方法
  19. Linux下MySQL5.7.18二进制包安装(手动添加配置文件my_default.cnf)
  20. .NET Core 跨平台 串口通讯 ,Windows/Linux 串口通讯,flyfire.CustomSerialPort 的使用

热门文章

  1. 2- SQL语句的强化
  2. STM32---初学者用库函数好还是直接对寄存器操作比较好
  3. mysql查询小技巧
  4. flex:1将页面铺满
  5. bootstrap-----流体布局解析
  6. react diff 极简版
  7. jq+baiduTemplate城市选择
  8. HTML5能取代Android和iOS应用程序吗?
  9. 实时检测网络状态及是否可以连接Internet
  10. (4)mysql约束