㈠ 在c语言中用最简单的方法把十进制转化为十六进制
代码如下:
#include"stdio.h"
intmain()
{
intnum=0;
inta[100];
inti=0;
intm=0;
intyushu;
charhex[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("
");
}
程序运行结果:
(1)c语言如何把数据转换成16进制扩展阅读
C语言中,十进制转换十六进制,可以先输入十进制整数,然后去拼十六进制,十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头,只需把二进制除以16得到余数去上面定义的hex[16]数组进行取值接可以得到转换的数字。
㈡ C语言调用函数编写把十进制整数n转换成十六进制怎么编程
思路:十进制整数转换为十六进制整数采用"除16取余,逆序排列"法。
具体做法是:用16整除十进制整数,可以得到一个商和余数;再用16去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为十六进制数的低位有效位,后得到的余数作为十六进制数的高位有效位,依次排列起来。
参考代码:
#include"stdio.h"
intmain()
{
intnum,a[100],i=0,m=0;
charhex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
scanf("%d",&num);
while(num>0)
{
a[i++]=num%16;
num=num/16;
}
printf("转化为十六进制的数为:");
for(i=i-1;i>=0;i--)//倒序输出
{
m=a[i];
printf("%c",hex[m]);
}
printf(" ");
}
/*
运行结果:
17
转化为十六进制的数为:11
*/
㈢ 在C语言中如何将10进制转换成16进制
根据10进制转换为16进制的规则,编写C语言程序将10进制数转换为16进制数。
具体实现方法可参考如下程序:
#include<stdio.h>
voidmain()
{
inti,x;//x表示欲转换的10进制数
intdata[10],index=0;//data数组存放转换后的16进制数,index表示下标
scanf("%d",&x);//接受欲转换的10进制数
for(i=0;i<10;i++)//对数组data进行初始赋值操作
data[i]=0;
printf("%d对应的16进制为:",x);
//反复相除取余,并将余数存放在data数组中
while(x>0)
{
data[index]=x%16;
x=x/16;
index++;
}
//逆序输出data数组中的元素,即为10进制数对应的16进制数
for(i=index-1;i>=0;i--)
printf("%d",data[i]);
printf(" ");
}