MVC4: UserIsInRole - невозможно подключиться к базе данных SQL Server

Вы можете сделать это, поместив биты в структуру внутри объединения, но он может работать или не работать, в зависимости от вашей реализации. Определение языка не указывает, в каком порядке отдельные биты будут сопоставляться с битами unsigned char; хуже того, он даже не гарантирует, что биты будут перекрываться с unsigned char (компилятор может решить разместить отдельные биты в сторону наиболее значимой стороны слова и unsigned char в сторону наименее значимой стороны или наоборот) .

Обычная техника в вашей ситуации - использовать побитовые операции. Определите константы, названные в честь значения битов, например,

#define FLAG_BUSY 0x01
#define FLAG_DATA_AVAILABLE 0x02
#define FLAG_TRANSMISSION_IN_PROGRESS 0x04
...
#define FLAG_ERROR 0x80

. Затем для чтения и записи отдельных битов:

if (status & FLAG_BUSY) ... /* test if the device is busy */
status &= ~FLAG_ERROR; /* turn off error flag */
status |= FLAG_TRANSMISSION_IN_PROGRESS /* turn on transmission-in-progress flag */
13
задан Chen 25 January 2013 в 11:59
поделиться