socket通信服务器需要给待发送的数据加个头,这样客户端只有确认了头才能开始解析包,项目中出了问题,就是加了一个char作为头,但是发送与接收这个char内容不符,想办法数据这个八位的char,看看是哪里出了问题
unsigned char a;
int r[8];
r[0] = a & 0x01; // 最低道位专属
r[1] = ( a & 0x02) >> 1;
r[2] = ( a & 0x04) >> 2;
r[3] = ( a & 0x08) >> 3;
r[4] = ( a & 0x10) >> 4;
r[5] = ( a & 0x20) >> 5;
r[6] = ( a & 0x40) >> 6;
r[7] = ( a & 0x80) >> 7; // 最高位
for(int i = 0; i < 8; ++i){
printf(" %d:",r[i]);
}
这样就可以输出这个char的每一位大小了