Здравствуйте, Tosha, Вы писали:
T>Вопрос такой:
T>Допустим F0=11111010
T>А вот как получить четыре бита, т.е 0000?
T>Есть ли вообще операторы для таких действий?
T>И вообще, можноли ли определить где в байте 1, а где 0?
Может воспользоваться битовыми полями ?
union byte_t
{
unsigned char b;
struct bits_t
{
unsigned int b0 : 1;
unsigned int b1 : 1;
unsigned int b2 : 1;
unsigned int b3 : 1;
unsigned int b4 : 1;
unsigned int b5 : 1;
unsigned int b6 : 1;
unsigned int b7 : 1;
};
struct bits_t bits;
};
Использование :
union byte_t b;
b.b=0xF0;
// b.b = 0xF0
// b.bits.b0 = 0
// b.bits.b1 = 0
// b.bits.b2 = 0
// b.bits.b3 = 0
// b.bits.b4 = 1
// b.bits.b5 = 1
// b.bits.b6 = 1
// b.bits.b7 = 1