Re: Биты, байты...
От: _nn_  
Дата: 01.06.04 06:15
Оценка: 10 (2)
Здравствуйте, 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
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.