Как получить верхние 15 бит uint16_t?C++

Программы на C++. Форум разработчиков
Anonymous
Как получить верхние 15 бит uint16_t?

Сообщение Anonymous »

У меня есть следующие 2 байта для декодирования: 0000 0000 0111 1011 < /p>
И я хочу заполнить эту структуру < /p>
struct ctn
{
uint16_t fx : 1;
uint16_t stn: 15;

ctn() : fx(0), stn(0) {}
} PACKED;

Я сохраняю 2 байта данных для декодирования в uint16_t tmp1;
Я думаю, чтобы получить значение fx (1 В конце двоичной строки)composedTrackNumber.fx = tmp1 & 1;
< /code>
Как извлечь оставшиеся 15 бит в переменную STN? < /p>
composedTrackNumber.stn = ???


Подробнее здесь: https://stackoverflow.com/questions/793 ... a-uint16-t

Вернуться в «C++»