黑马程序员技术交流社区
标题:
求助一个进制转换的问题
[打印本页]
作者:
522049094
时间:
2014-5-26 22:18
标题:
求助一个进制转换的问题
//为什么我的函数输出的结果是不正确的(还没有将数字的顺序倒换过来)
复制代码
作者:
522049094
时间:
2014-5-26 22:24
#include <stdio.h>
#include <string.h>
//number为待转换的数值,digits为进制数
void tenToHex(int number,int digits,char *str)
{
int j = 0;
//对传入的进制数进行判断,如果不在2-15之间就直接返回。
if (digits<2 || digits>16){
printf("非法进制!!!\n");
return ;
}
else
{
while (number)
{
if (number%digits >= 10)
{
str[j++] = 'A' + (number%digits - 10);
}
else
{
str[j++] = '0' + number%digits;
}
number = number/digits;
}
}
}
int main()
{
int m = 21,n = 2;
char str[8];
tenToHex(m,n,str);
printf("%d,%d,%s\n",m,n,str);
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2