ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
18 мая
52674 Топик полностью
VAI (02.03.2006 07:35, просмотров: 2) ответил Sergey Pinigin на в C нет бинарного представления, можно воспользоваться макросом вида BIN2BYTE(a)
Ответ: или так. Автор, по моему, Аскольд Волков. 
// Определение
#define _bitset(bits)\
  ((unsigned int)(\
  (bits%010)|\
  (bits/010%010)<<1|\
  (bits/0100%010)<<2|\
  (bits/01000%010)<<3|\
  (bits/010000%010)<<4|\
  (bits/0100000%010)<<5|\
  (bits/01000000%010)<<6|\
  (bits/010000000%010)<<7|\
  (bits/0100000000%010)<<8|\
  (bits/01000000000%010)<<9|\
  (bits/010000000000%010)<<10|\
  (bits/0100000000000%010)<<11|\
  (bits/01000000000000%010)<<12|\
  (bits/010000000000000%010)<<13|\
  (bits/0100000000000000%010)<<14|\
  (bits/01000000000000000%010)<<15))
#define BINARY( bits ) _bitset(0##bits)


// использование
  P3DIR |= BINARY( 00001111 );
  P2SEL = BINARY( 00000000 );
#define SPI_State BINARY( 00011000 )
#define ERR_0 BINARY( 1000000010000000 )
static const char ini_prg_ind[] =
{ BINARY( 00000 ),
  BINARY( 00000 ),
  BINARY( 00000 ),
  BINARY( 10000 ),
  0xff
};