Наименьшее количество битов, которые вы можете получить и сохранить, составляет 8 = 1 байт. Вы можете получить доступ к битам в байтах, используя битовые операторы ^ & |.
Вы можете установить n-й бит на 1, используя:
my_byte = my_byte | (1 << n);
где n от 0 до 7.
Вы можете установить n-й бит на 0, используя:
my_byte = my_byte & ((~1) << n);
Вы можете переключать n-й бит, используя:
my_byte = my_byte ^ (1 << n);
Подробнее здесь .