您的位置:首页 > 其它

十进制转换任意进制

2015-04-07 16:43 441 查看
itoa是广泛应用的非标准C语言扩展函数。由于它不是标准C语言函数,所以不能在所有的编译器中使用。但是,大多数的编译器(如Windows上的)通常在<stdlib.h>头文件中包含这个函数。

#include <stdio.h>
#include <stdlib.h>
char* itoa(int num,char*str,int radix)
{
char *index = "0123456789ABCDEFGHIJKLMNOPQUVWXYZ";
char t;
int i = 0,unum,k,j;
if(radix == 10 && num < 0){
unum = -num;
str[i++] = '-';
}else{
unum = num;
}
do{
str[i++] = index[unum % radix];
unum /= radix;
}while(unum);
str[i] = '\0';
k = str[0] == '-' ? 1 : 0;

for(j = k; j <= (i - 1)/2; j++)
{
t = str[j];
str[j] = str[ i - 1 + k - j];
str[i - 1 + k - j] = t;
}
return str;
}
int main()
{
int a = 3;
char two[30];
itoa(a,two,2);
printf("%s\n",two);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: