C语言编程怎么把一个十进制数转换成为一个十六进制数

更新时间:02-03 教程 由 离沫 分享

第一种:用来糊弄老师的,输入一个数采用16进制格式输出

#include

intmain()

{

intnum=0;

scanf("%d",&num);

printf("%x",num);

return0;

}

第二种:

#include

#include

charoNumTable[6]={'A','B','C','D','E','F'};

voiddToO(int,char*);

intmain()

{

intdNum;

charoNum[100]={0};

//输入一个十进制数

scanf("%d",&dNum);

//调用转换函数,将十进制转换成以字符串表示的十六进制

dToO(dNum,oNum);

//输出以字符串表示的16进制数据

printf("%s\n",oNum);

return0;

}

voiddToO(intdNum,char*oNum)

{

chartemp[100]={0};

for(inti=0;(dNum)&&(i

temp[i]=(dNum%16);

if(temp[i]>9){

temp[i]=oNumTable[temp[i]-10];

}

else{

temp[i]+='0';

}

dNum/=16;

}

char*p=temp;

while(*(p+1))p++;

for(inti=0;p!=temp-1;i++,p--){

oNum[i]=*p;

}

}

//下面是10进制转换成任意进制数

#include"stdio.h"

main()

{

inti=0,m,n,r,a[40];

charstr[16]="0123456789ABCDEF";

printf("\n请输入一个整数和要转换成的进制数\n");

scanf("%d%d",&m,&r);/*r代表进制数*/

if(m<0)

{printf("%c",'-');

m=-m;}/*判断是否输入的是负数*/

do{

a[i++]=m%r;

m=m/r;}while(m>0);/*m对r取余数,再除以r*/

printf("转换结果是:\n");

for(n=i-1;n>=0;n--)

printf("%c",str[a[n]]);

}

//够简单吧!

声明:关于《C语言编程怎么把一个十进制数转换成为一个十六进制数》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2167979.html