Получите 15 кусочков без подписиC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Получите 15 кусочков без подписи

Сообщение 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 ... igned-char
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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