1、十进制转换成十六进制字符串
#include<stdio.h>
/*
函数: 将十进制数字转换为十六进制,并将转换后的数字存储在字符串中并输出
*/
void dec2hex(int n)
{
char str[100];
int p;
int i;
int digit;
char c;
p=0;
do{
digit=n%16;
if(digit<10)
{
str[p]=digit+'0';
}else
{
str[p]=digit-10+'A';
}
p++;
n=n/16;
}while(n>0);
str[p]='\0';
for(i=0;i<p/2;i++)
{
c=str[i];
str[i]=str[p-1-i];
str[p-1-i]=c;
}
puts(str);
}
void main()
{
int n;
n=16;
printf(" \n 十进制数 %d 转化为十六进制 为: ",n);
dec2hex(n);
n=255;
printf(" \n 十进制数 %d 转化为十六进制 为: ",n);
dec2hex(n);
}
2、十进制转换为十六进制数组
案例:将1000转换成十六进制数组存储
#include <stdio.h>
int ConvertHex(int vel,char hex[4])
{
int velocity = vel;
hex[0] = (velocity & 0xff);
hex[1] = ((velocity >> 8) & 0xff); //先右移再与操作
hex[2] =((velocity >> 16) & 0xff);
hex[3] = ((velocity >> 24) & 0xff);
}
int main()
{
char hex[6];
ConvertHex(535,hex);
printf("Hello, World!.0x%02X \n",hex[0]);
printf("Hello, World!.0x%02X \n",hex[1]);
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)