
15.05.2009, 12:54
|
|
Познающий
Регистрация: 07.09.2008
Сообщений: 79
С нами:
9302336
Репутация:
10
|
|
Сообщение от slesh
а вообще добирайся до битов через сишный возможности ти
Код:
typedef struct _KEY
{
char b1:1;
char b2:2;
char b3:3;
char b4:4;
char b5:5;
char b6:6;
char b7:7;
char b8:8;
} TKEY,*PKEY;
int main(int argc, char* argv[])
{
PKEY keybit;
char data[8];
data[0]=127;
keybit=(PKEY)&data[0];
keybit->b1=1; // вот так вот ты можешь добраться до битов
return 0;
}
Код:
typedef struct _KEY
{
char b1:1;
char b2:2;
char b3:3;
char b4:4;
char b5:5;
char b6:6;
char b7:7;
char b8:8;
} TKEY,*PKEY;
Выходит что b1 имеет 1 бит,b2 2 биты, b3 3 биты ..... b8 8 битов а всего 36 битов а должно быть всего лишь 8 битов, т.е. :
Код:
typedef struct _KEY {
char b1 : 1;
char b2 : 1;
char b3 : 1;
char b4 : 1;
char b5 : 1;
char b6 : 1;
char b7 : 1;
char b8 : 1;
} TKEY,*PKEY;
Последний раз редактировалось xismyname; 15.05.2009 в 12:58..
|
|
|