33,311
社区成员
发帖
与我相关
我的任务
分享
unsigned char dat[] = { 0xac, 0x34, 0x2a };
#define LENGTH (sizeof(dat)/sizeof(dat[0]))
unsigned char str[LENGTH * 2 + 1];
int main(int argc, char* argv[])
{
unsigned char index = 0;
unsigned char i;
unsigned char temp;
for ( i=0; i<LENGTH; i++ )
{
temp = (dat[i] >> 4) & 0xf;//高4位
if ( temp > 9 ) temp = temp - 0xa+ 'a';// 字母
else temp = temp + '0';//数字
str[index++] = temp;
temp = dat[i] & 0xf;//低4位
if ( temp > 9 ) temp = temp - 0xa+ 'a';// 字母
else temp = temp + '0';//数字
str[index++] = temp;
}
str[index] = 0;
printf( "%s\r\n", str );
return 0;
}
#include <stdio.h>
char a[3]={0xAC,0x34,0x2A};
char s[7];
int i;
int main() {
for (i=0;i<3;i++) sprintf(s+i*2,"%02X",(unsigned char)a[i]);
for (i=0;i<6;i++) printf("%c %3d\n",s[i],(unsigned char)s[i]);
return 0;
}