一个转换的问题!(高手请进)
如果有一个数组char arry[20]="abcdefg",我想把它转换成一个short data[]的数组,并且data中的数据是16进制的数据,比如arry中的内容转换得到是data[]={0x6162,0x6364,0x6566,0x6700}.
注:1.0x6162就代表了"ab",因为char占用一个byte,short占用2个byte;
2.通过以下语句实现ASCII码向数字的转化,比如:a的ASCII码是0x61,通过以下语句可以得到 first_bit4_l=1,first_bit4_h=6.
for(i=0;i<20;i++)
{ temp1=arry[i];
first_bit4_l=temp1&0x0f;
first_bit4_h=temp1>>4;
if ((first_bit4_h>=0)&&(first_bit4_h<=9))
{
first_bit4_h=first_bit4_h+48;
}
if ((first_bit4_h>=0xA)&&(first_bit4_h<=0xF))
{
first_bit4_h=first_bit4_h+55;
}
if ((first_bit4_l>=0)&&(first_bit4_l<=9))
{
first_bit4_l=first_bit4_l+48;
}
if ((first_bit4_l>=0xA)&&(first_bit4_l<=0xF))
{
first_bit4_l=first_bit4_l+55;
}
temp1=(first_bit4_h<<4)|first_bit4_l;
}
最后,我是想问,c语言里面不通过文件操作,怎样把first_bit4_l和first_bit4_h送到数组data里面去,得到data[]={0x6162,0x6364,0x6566,0x6700}.关键是我自己不知道怎样搞定0x6162这个格式,请高手帮忙!急等!