Хранение бинарных данных в структуре - C (СИ)
Формулировка задачи:
У меня есть 8 флагов, как лучше их хранить в одной стуктуре, чтобы при этом было удобно смотреть какой флаг во что установлен?
Есть идея завести u_char и с помощью смещения по стуктуре смотреть состояние флага, но тут возникает вопрос как смещение организовать, ведь, вроде как, размер u_char не фиксированый?
Решение задачи: «Хранение бинарных данных в структуре»
textual
Листинг программы
u_char flag; u_char x = ((flag >> i)&1); // Дает состояние i-того бита (справа)
Объяснение кода листинга программы
- Объявляется переменная типа u_char с именем
flag
. - При помощи операторов сдвига и побитового И flag >> i считывается i-тый бит из
flag
. - Результат сохраняется в переменной типа u_char с именем
x
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д