Хранение бинарных данных в структуре - C (СИ)

Узнай цену своей работы

Формулировка задачи:

У меня есть 8 флагов, как лучше их хранить в одной стуктуре, чтобы при этом было удобно смотреть какой флаг во что установлен? Есть идея завести u_char и с помощью смещения по стуктуре смотреть состояние флага, но тут возникает вопрос как смещение организовать, ведь, вроде как, размер u_char не фиксированый?

Решение задачи: «Хранение бинарных данных в структуре»

textual
Листинг программы
u_char flag;
u_char x = ((flag >> i)&1);  // Дает состояние i-того бита (справа)

Объяснение кода листинга программы

  1. Объявляется переменная типа u_char с именем flag.
  2. При помощи операторов сдвига и побитового И flag >> i считывается i-тый бит из flag.
  3. Результат сохраняется в переменной типа u_char с именем x.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы