itoa的两种实现

一种是linux的实现,一种是Solaris的实现,代码如下:、

namespace linux
{
    void itoa( int i,char* string) 
    {
        int power, j;
        j=i; 
        for (power=1;j>=10;j/=10) 
            power*=10; 
        for (;power>0;power/=10)
        {
            *string++='0'+i/power; i%=power; 
        }
        *string='\0';
    } 
}

namespace solaris
{
    char * itoa(long n, int base) 
    {
        register char *p; 
        register int minus; 
        static char buf[36];
        p = &buf[36]; 
        *--p = '\0'; 
        if (n < 0) { minus = 1; n = -n; } else minus = 0; 
        if (n == 0)  *--p = '0'; 
        else while (n > 0) { *--p = "0123456789abcdef"[n % base]; n /= base; } 
        if (minus) *--p = '-';
        return p;
    }
}

关键还是怎样去求整形的位数,求出来,剩下来的事情就很少了。

时间: 2024-11-04 22:18:03

itoa的两种实现的相关文章

JavaBean实现多文件上传的两种方法

上传 摘要:本文介绍了JavaBean实现多个文件上传的两种方法,分别是使用http协议和ftp协议实现.首先讲述了http协议传送多个文件的基本格式和实现上传的详细过程,之后简单介绍了使用ftpclient 类实现了ftp方式的上传,最后对这两种方法进行了比较. 关键字:JavaBean .http .ftp .ftpclient JavaBean是一种基于Java的软件组件.JSP对于在Web 应用中集成JavaBean组件提供了完善的支持.这种支持不仅能缩短开发时间(可以直接利用经测试和可

win8.1系统弹窗提示内存不足两种处理方法

  win8.1系统弹窗提示内存不足两种处理方法.今天就给大家分析一下具体的解决方法. 方法1 1开始菜单里搜索"服务",点击第一个"查看本地服务" 2找到"Diagnostic Policy Service""Diagnostic Service Host""Diagnostic System Host"三个服务项,右键"属性",将启动类型设置为"禁用",服务状态设

entryset方法-KeySet跟entrySet为什么会有两种不同的结果。。

问题描述 KeySet跟entrySet为什么会有两种不同的结果.. import java.util.*; class Student implements Comparable{ private String id; private String name; Student(String idString name) { this.id = id; this.name = name; } public String getId() { return id; } public String g

java多线程总结一:线程的两种创建方式及优劣比较

http://blog.csdn.net/touch_2011/article/details/6891026 1.通过实现Runnable接口线程创建 (1).定义一个类实现Runnable接口,重写接口中的run()方法.在run()方法中加入具体的任务代码或处理逻辑. (2).创建Runnable接口实现类的对象. (3).创建一个Thread类的对象,需要封装前面Runnable接口实现类的对象.(接口可以实现多继承) (4).调用Thread对象的start()方法,启动线程 示例代码

在局域网架设CS服务器有两种方法

http://www.aliyun.com/zixun/aggregation/16327.html">网络环境要求:专线连接操作系统要求:windows2000 server(需用服务器版本,因为架构过程中要用到win2000服务器的端口映射功能.) 在局域网架设CS服务器有两种方法,任选一种你熟悉的方法即可操作成功,下面将依次介绍: 第一种方法(专业性比较强) 首先在服务器主机打开"管理工具"的"路由和远程访问",如果不想用启用路由功能的话可以直

使用Dojo为Ajax应用增添前进 / 后退能力的两种解决方案

简介:基于 Ajax 的 Web 应用最为明显的特征在于使用了浏览器内部原生支持的 XMLHttpRequest 对 象与后台服务器进行数据通信,由于这种通信方式不需要页面的刷新动作,因而无论与后台发生了多少次 通信,浏览器的 URL 会一直保持在初始地址不变.这随之而来的一个问题便是不断变化的页面状态信息 无法记录到浏览器的历史记录堆栈中,从而使得用户无法通过浏览器的前进 / 后退按钮在不同状态页面 间进行切换.Dojo 作为当今最为流行的 JavaScript 开发工具包之一,在其最新发布版

PhotoShop阳文和阴文(朱文和白文)两种篆刻艺术印章制作教程

印章最早可上溯到3000多年前的商代,是古人作为一种信物和人格风采的标志,后来通过文人的介入成了一种艺术形式,元代是文人画形成的时代,文人画追求诗.         三联推荐:photoshop7.0迷你版免费下载    |  Photoshop CS5 中文免费下载  |  photoshop免费下载 书画.印结合,流行在绘画作品上加诗文题跋及钤盖作者姓名.字号.别号及诗词格言印章.明清以来,石质印材的发现为大批具有较高艺术修养的文人.书法家. 画家参与篆刻创作提供了契机,也因此推动了篆刻艺术

“一个网络”,两种口味:响应性对适应性

来源:GBin1.com 编者的话:这是Mobify的CEO,Igor Faletski发表的一篇博文,Mobify,电子商务优化平台,为智能手机和平板电脑提供了适应网站的工具. 你可能听人说过,"我们生活在后电脑时代".这对网络开发者而言意味什么?它意味着你的网站,有30%到50%的流量来自于移动电子设备.它同时意味着,不久之后,桌面用户或者笔记本电脑用户将会成为网络的少数派. 面对这样用户模式构建的转变,我们又要如何应对呢?我们已经跨越了m-dot或是t-dot时代,步入了一个由响

Ajax中解析Json的两种方法对比分析

  这里给大家介绍的是Ajax中解析Json的两种方法对比分析,十分的实用,本文为学习笔记,属新手文章,欢迎指教! eval(); //此方法不推荐 JSON.parse(); //推荐方法 一.两种方法的区别 我们先初始化一个json格式的对象: ? 1 2 3 4 5 var jsonDate = '{ "name":"周星驰","age":23 }'   var jsonObj = eval( '(' + jsonDate + ')' );