输出为十六进制和八进制,可以利用printf()函数自带的格式符号来转换输出,分别是"%02x"和"%03o";而输出为二进制,可以用下面的函数转换为字符串后再打印出来:
unsigned char* byte_to_bit_string( unsigned char c )
{
unsigned char c0 = 1;
static unsigned char bit_str[9] = {'\0'};
int i;
for(i=8; i>0; i--)
{
bit_str[i-1] = '0' + ((c&c0)?1:0);
c0 += c0;
}
bit_str[8] = '\0';
return bit_str;
}