闲着没事想到一个算法,将一个16进制的数据转换为两个ascii字符,优化后一行代码就可以实现功能:
代码段1,23行
代码段2,23行
代码段3,5行
代码段4,4行
代码段5,1行
实现的功能都相同,都可以实现将16进制的数据转换为对应的ascii字符
#include<stdio.h>
int main()
{
char arr_temp[256];
char arr_char[16]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46};
char result[512];//输出缓冲期
char char_up;//一个字节高4位声明
char char_low;//一个字节低4位声明
int i;
for(i=0;i<256;i++)
{
arr_temp=i;
}
//数据处理
//for(i=0;i<=255;i++)
//{
//printf("%x\n",arr_temp);
//}
//执行16进制数据转换为ASCII字符的操作1
//for(i=0;i<256;i++)
//{
//char_up=arr_temp>>4;
//if (char_up<=9)
//{
// char_up=char_up+0x30;
//}
//else
//{
// char_up=char_up+0x37;
//}
//char_low=arr_temp&0x0f;
//if (char_low<=9)
//{
// char_low=char_low+0x30;
//}
//else
//{
// char_low=char_low+0x37;
//}
//result[2*i]=char_up;
//result[2*i+1]=char_low;
//}
//执行16进制数据转换为ASCII字符的操作2
发自小木虫Android客户端 |