十进制转16进制字符

1.

//10进制转16进制字符

#include <stdio.h>

 int main() 

 { 

int num=0;

char 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++]= hex[yushu]; 

num=num/16; 

printf(“转化为十六进制的数为:0x”);

for(i=i-1;i>=0;i–)
//倒序输出 

m=a[i];

printf(“%c”,a[i]); 

printf(“\n”); 

 

return 0;

 }

2.

//一个数 加上0x30就是对应的字符—2位十进制转16进制

#include <stdio.h>

int main()
{
int num;
char b[2]={0};

printf(“请输入一个数:\n”);
scanf( “%d”, &num);
b[0] = (char)(num/16)+0x30; //强制类型转换,10进制转换成16进制
b[1] = (char)(num%16)+0x30; //+0x30 得到ASCII编码的字符

printf(“%c%c\n”, b[0],b[1]);

return 0;
}

 

    原文作者:进制转换
    原文地址: https://blog.csdn.net/jinqg/article/details/54429472
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞