【1】如果是赋给一个位变量。对于51你可以了解一下bdata。unsigned char bdata x;sbit x7=x^7;此后通过x7就可以直接访问到x的最高位了。【2】unsigned char x,y;y=x&0x80;获取最高位值。结果是0x80或0。或者:y=(x>0x7F)1:0; 结果是1或0。
uchar dat, a;a = (dat & 0x80) >> 7 ;
引用楼上的uchar dat, a;a=dat<<1;