Работа с обычными переменными, включая структурные типы, довольно проста. А их низкоуровневая реализация уже немного затрагивалась мной в статьях посвященных режимам адресации. Там же я давал ссылку на статьи, где все это рассматривалось подробнее. А вот работа с отдельными битами тема более интересная. Напрямую работать с отдельными битами приходится очень часто при разработке программ для микроконтроллеров. При этом обычные прикладные программисты на универсальных ЭВМ сталкиваются с этим довольно редко...
Довольно часто битовую арифметику при обучении программированию обходят стороной, то есть даже если объясняют её правила, то не находят конкретных жизнеспособных примеров использования. В самом деле, если вы пишете драйвер для модема, она может быть нужна, но в обычной программе вряд ли... Или нет? Давайте посмотрим. (Рекомендуется сначала изучить материал про двоичную систему.) Я буду говорить о семействе языков C, JavaScript, Java, PHP и подобных. Также я проверил насчет Питона, и там есть то же самое...