C - Как получить 4 младших разряда в Char - PullRequest
2 голосов
/ 23 марта 2019

Я новичок в языке Си, и я пытаюсь получить 4 младших разряда от неподписанного символа. До сих пор я понятия не имею, как их получить. Я буду признателен за любую помощь

1 Ответ

5 голосов
/ 23 марта 2019

Это просто побитовая логика:

unsigned char c = 120;
unsigned char lsb4 = c & 0x0F;

Где 0x0F представляет двоичное значение 00001111.

Если вы используете GCC, это даже более буквально:

unsigned char lsb4 = c & 0b00001111;

Технически, ведущие 0 здесь не требуются, но они включены, чтобы помочь проиллюстрировать, какие биты выбираются.

...