union
参阅我的,不对处请指教
union tt
{
unsigned char byte ;
struct {
unsigned char byte_0 :1 ;
unsigned char byte_1 :1 ;
unsigned char byte_2 :1 ;
unsigned char byte_3 :1 ;
unsigned char byte_4 :1 ;
unsigned char byte_5 :1 ;
unsigned char byte_6 :1 ;
unsigned char byte_7 :1 ;
}
temp_bit;
} data temp;
unsigned char result ( unsigned char p[], unsigned char i )
{
temp.temp_bit.byte_0 = (p[0]&i)> 0?1:0 ;
temp.temp_bit.byte_1 = (p[1]&i)> 0?1:0 ;
temp.temp_bit.byte_2 = (p[2]&i)> 0?1:0 ;
temp.temp_bit.byte_3 = (p[3]&i)> 0?1:0 ;
temp.temp_bit.byte_4 = (p[4]&i)> 0?1:0 ;
temp.temp_bit.byte_5 = (p[5]&i)> 0?1:0 ;
temp.temp_bit.byte_6 = (p[6]&i)> 0?1:0 ;
temp.temp_bit.byte_7 = (p[7]&i)> 0?1:0 ;
return temp.byte ;
}