在c语言中用最简单的方法把十进制转化为十六进制

10要用A来表达,后面也是一样的
2025-01-11 00:51:31
推荐回答(5个)
回答1:

代码如下:

#include "stdio.h" 
int main() 

int num=0;
int a[100]; 
int i=0; 
int m=0;
int yushu; 
char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
printf("请输入一个十进制整数:"); 
scanf("%d",&num); 
while(num>0) 

yushu=num%16; 
a[i++]=yushu; 
num=num/16; 

printf("转化为十六进制的数为:0x"); 
for(i=i-1;i>=0;i--)//倒序输出 {
m=a[i];
printf("%c",hex[m]); 

printf("\n"); 
}

程序运行结果:

扩展资料

C语言中,十进制转换十六进制,可以先输入十进制整数,然后去拼十六进制,十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头,只需把二进制除以16得到余数去上面定义的hex[16]数组进行取值接可以得到转换的数字。

参考资料:百度百科-十六进制

回答2:

#include

void dec2hex(int n)

{if(n>15)dec2hex(n/16);

printf("%c",n%16<10?n%16+'0':n%16+55);

}

int main()

{int n;

scanf("%d",&n);

dec2hex(n);

return 0;

}

 

回答3:

#include 
int main()
{
    int a;
    printf("input a num:");
    scanf("%d",&a);
    printf("HEX:0x%02x",a);   
    return 0;
}

回答4:

#include 

int main()
{
    int n;
    scanf("%d", &n);
    printf("%X", n);
    return 0;
}

 %x %X就是以十六进制的形式输出一个整数,字母的大小写形式与x相同

回答5:

在printf函数中,你可以用%x格式来输出16进制
如:
int a = 10;
printf("%x", a);