ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
26 августа
501871 Топик полностью
Vit (30.03.2014 06:39 - 06:41, просмотров: 35) ответил Mahagam на все варианты написали, осталось только вспомнить про битовые поля.
Все? Нифига:) Добавлю изврату #define _A 3 #define _B 2 #define _C 1 #define _D 0 //заполняем массивы unsigned char _PB[]={0,0,0,0,(1<<_C),.....}; //_PB[1<<2] =( 1<<_C); //_PB[1<<4] =( 1<<_D); //_PB[(1<<2)|(1<<4)] =(1<<_C)|(1<<_D); unsigned char _PD[]={0,0,0,0,(1<<_A),....}; //_PD[1<<2] =( 1<<_A); //_PD[1<<5] =( 1<<_B); //_PD[(1<<2)|(1<<5)] =(1<<_A)|(1<<_B); // и достаём оттуда по правильному индексу:) var =_PB[PINB & ((1<<4)|(1<<2))] | _PD[PIND & ((1<<5)|(1<<2))]