十进制转十六进制简述

1.使用sprintf()函数

#include 





int main()
{
	int a = 31; 
	char hex[10] = {NULL}, Hex[10] = {NULL};

	sprintf_s(hex, "%x", a);        //十六进制小写
	sprintf_s(Hex, "%X", a);       //十六进制大写
	
	printf("%s\n", hex);
	printf("%s\n", Hex);

	return 0;
}

2.逆序取余 

#include 





void decimalToHex(int);

int main()
{
	int input = 0; 

	scanf_s("%d",&input);
	
	decimalToHex(input);
	
	return 0;
}
	
void decimalToHex(int input){	
	int arr[16] = { 0 }; 
    char charray[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
	int tem = input;

	for(int i=15;i>0;i--)
    {
		arr[i] = tem % 16;
		tem=tem/16;
	}

	for(int k=0;k<16;k++)
    {
		printf("%d", arr[k]);
	}
	printf("\n");
	for(int k=0;k<16;k++)                //输出十六进制
    {
	    printf("%c",charray[arr[k]]);
	}
}

charray[ ]用于生成A,B,C,D,E,F符号代替十进制数据

你可能感兴趣的:(c++,c语言,算法)