#define BASE_MAX (26 + 10)

char const* itostr(int x, int base)
{
/* map 居中, 支技负余数 */
static char const * const map =
"ZYXWVUTSRQPONMLKJIHGFEDCBA987654321"
      "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
      + (BASE_MAX - 1);
/* 静态缓冲,不支持多线程, 每次调用都覆盖上次的值 */
static char buf[BASE_MAX]; int oldx;
/* 从缓冲尾部逆向使用 */
char* p = buf + sizeof(buf) - ;
/* *p = '\0'; buf 是一个静态数组,默认初始化为0 */ /* 不合法的base返回空串 */
if (base < || base > ) {
return p;
} do {
/* 保存原数,用一次乘法取代取模*/
oldx = x;
x = x / base;
/* 先减后用 */
*--p = map[oldx - x * base];
} while (x); /* 负数的加上符号 */
if (oldx < ) *--p = '-'; return p;
}

最新文章

  1. PHP进程通信基础——shmop 、sem系列函数使用
  2. ubuntu安装simplejson模块
  3. css属性的选择对动画性能的影响
  4. arcgis flexviewer中由Application向widget传值
  5. .net常用组件
  6. UVaLive 6859 Points (几何,凸包)
  7. Windows store 验证你的 URL http:// 和 https:// ms-appx:/// ms-appdata:///local
  8. 【Android Developers Training】 49. 轻松录制视频
  9. ShoneSharp语言(S#)的设计和使用介绍系列(3)— 修炼工具
  10. Leetcode 143. Reorder List(Medium)
  11. 机器学习是万能的吗?AI落地有哪些先决条件?
  12. 一种使用emwin库函数导致hardfault的情况
  13. 在docker中运行mysql实例
  14. JavaScript实现限时抢购实例
  15. C语言中堆内存的开辟和释放与内存处理函数
  16. 使用开源库 EasyTimeline 操作定时器 NSTimer
  17. 关于spring框架工作原理的初解
  18. [Jobdu] 题目1373:整数中1出现的次数(从1到n整数中1出现的次数)
  19. PEM文件和private.key文件生成IIS服务器所需的pfx文件(配置SSL用)
  20. 【Linux】Linux修改openfile和max user processes?

热门文章

  1. HDU 5317 RGCDQ (质数筛法,序列)
  2. 【解题报告】[动态规划] RQNOJ - PID38 / 串的记数
  3. A. Puzzles CodeForces Round #196 (Div.2)
  4. switchover步骤切换
  5. IClassSchemaEdit修改要素类信息
  6. arcengine9.3与10开发授权代码
  7. 热门Web开发方式 REST实现原理浅析
  8. hql查询语句 内存中的情况,fetch迫切查询关键字
  9. redis介绍【转】
  10. 读取raw目录中的文件数据