C语言中十进制数转换成其他进制

来源:百度知道 编辑:UC知道 时间:2024/09/19 15:57:24
怎么去做呢?
有没有简单的方法
程序要求:
将一个十进制的数转换成二 八 十六进制 并且输出
itoa是什么意思?
具体解释下好么

#include <stdio.h>
void main(){
int m=16;//例子为16时
int a[20],i;
printf("16进制%x\n8进制%o\n\n",m,m,m,m);/* %x 16 %o 8 这俩个可以直接输出 */
i=0;
while(m!=0){//用a[i]装,在反向输出
a[i]=m%2;
m=m/2;
i++;
}
printf("2进制");
for(int j=i-1;j>=0;j--)
printf("%d",a[j]);
printf("\n");

}

用itoa

很简单,不过现在没时间,只提示一下,while(x) {t[i++]=x%y;x=x/y;} for{;i>=0;i--} p[j++]=t[i]; 各变量自己定义,这只是关键步骤