一个奇怪的输出问题
以下是我的代码:
#include <stdio.h>
void F(char *text, char *txt);
int main()
{
char text[16] = {0,0,0,0,1,0,1,1,1,1,0,0,0,1,0,1};
char txt[2];
int i;
F(text, txt);
printf("%.2X %.2X\n", txt[0], txt[1]);
return 0;
}
/* **************************************
* 将16bits转化为8bytes
* **************************************/
void F(char *text, char *txt)
{
int i;
memset(txt, 0, 2);
for (i=0; i<16; i++){
txt[i>>3] |= (text[i] << (7 - (i % 8)));
}
}