int类型十进制转char类型十六进制

unsigned char DtoHH(int a)//十转十六 
{
//	int a = 0;
	char arr[32] = { 0 };//将转换后的十六进制数放进数组arr。
	int y = 0;
//	scanf("%d", &a);//获取一个十进制数
	while (a != 0)
	{
		y++;
		arr[y] = a % 16;
		a = a / 16;
		if (arr[y] > 9)
		{
			arr[y] = 'A' + (arr[y] - 10);
		}
		else
		{
			arr[y] = '0' + arr[y];
		}
	}
	//printf("0x");
	for (int i = y; i > 0; i--)
	{
		printf("%c", arr[i]);
	}
	printf("\n");
	unsigned char v;
	v=sscanf(arr,"%x",&v);
return v;
}

版权声明:本文为wrncxcy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。