itoa()函数,10进制转换到(2~36)进制
来源:互联网 发布:阳江市阳东区网络问政 编辑:程序博客网 时间:2024/05/29 19:00
先看下itoa()的函数说明吧:
功 能:把一整数转换为字符串
用 法:char *itoa(int value, char *string, int radix);
详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.
参数: value: 待转化的整数。
radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
* string: 保存转换后得到的字符串。
返回值: char * : 指向生成的字符串, 同*string。
备注:该函数的头文件是"stdlib.h" (包含在iostream里面)
记住一点:itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。
是Windows平台下扩展的,标准库中有sprintf,功能比这个更强,用法跟printf类似。
虽然可能itoa无法使用,但是我们可以编写自己的itoa()函数,以下是实现源代码(来源网络):
- char*my_itoa(int num,char*str,int radix)
- {
- const char table[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" ;
- char*ptr=str ;
- bool negative=false ;
- if(num==0)
- {
- //num=0
- *ptr++='0' ;
- *ptr='/0' ;
- // don`t forget the end of the string is '/0'!!!!!!!!!
- return str ;
- }
- if(num<0)
- {
- //if num is negative ,the add '-'and change num to positive
- *ptr++='-' ;
- num*=-1 ;
- negative=true ;
- }
- while(num)
- {
- *ptr++=table[num%radix];
- num/=radix ;
- }
- *ptr='/0' ;
- //if num is negative ,the add '-'and change num to positive
- // in the below, we have to converse the string
- char*start=(negative?str+1:str);
- //now start points the head of the string
- ptr--;
- //now prt points the end of the string
- while(start<ptr)
- {
- char temp=*start ;
- *start=*ptr ;
- *ptr=temp ;
- start++;
- ptr--;
- }
- return str ;
- }
程序的测试如下:
- #include <iostream>
- using namespace std;
- int main()
- {
- int a=15;
- char str[100];
- my_itoa(a,str,15);
- cout<<str<<endl;
- return 0;
- }
对于已经转换到指定进制的数,此时是字符串,我们可以再转换为整型(2~10进制才可以),比如:
- int main()
- {
- int a=15;
- char str[100];
- int n=atoi(my_itoa(a,str,2));
- cout<<n<<endl;
- return 0;
- }
备注:atoi()是标准库里面的函数,在C/C++语言参考函数里面有,而itoa()却没有,对此我们最好自己实现itoa()函数。
0 0
- itoa()函数,10进制转换到(2~36)进制
- itoa()函数,10进制转换到(2~36)进制
- itoa()进制转换函数
- Itoa进制转换函数
- 进制转换(itoa函数的使用)
- itoa函数各进制转换
- 轻松运用itoa进行进制转换
- itoa()其中指定转换的进制
- itoa()、atoi()、任意进制转换
- itoa()、atoi()、任意进制转换
- 考虑到进制问题的itoa函数
- C语言通过函数实现 itoa()的功能 将整数转换成字符串 并实现进制转换
- itoa函数:将数字n转换为字符串并保存到s中 3.6例题实现
- itoa整数转换成字符函数
- atoi, itoa 字符串转换函数源代码
- 数字转换为字符串函数itoa
- 数字转换为字符串(itoa函数)
- C语言中的进制转换 itoa & sprintf
- QGraphicsView的事件传递
- OD简易修改仙4
- hdu 2527
- Http和Socket区别
- Groovy入门教程
- itoa()函数,10进制转换到(2~36)进制
- hdu 1423最长公共递增子序列
- 【线段树】Minimum Inversion Number(逆序数的求解)
- 2~10进制内转换到10进制
- ym——Java多线程(新)
- PHP学习之文件上传
- hbase+eclipse开发环境配置
- UVA 10129 - Play on Words
- c++ string 用法详解