Битовый массив C / C ++ или битовый вектор

Я изучаю программирование на C / C ++ и столкнулся с использованием «битовых массивов» или «битовых векторов». Не могу понять их цель? вот мои сомнения -

  1. Используются ли они как логические флаги?
  2. Можно ли вместо них использовать массивы int ? (больше памяти, конечно, но ..)
  3. Что это за концепция битового маскирования?
  4. Если битовое маскирование - это простые битовые операции для получения соответствующего флага, как создать для них одну программу? не сложно ли проделать эту операцию в уме, чтобы увидеть, какой будет флаг, а не десятичные числа?

Я ищу приложения, чтобы лучше понять. для Eg -

Q. Вам предоставляется файл, содержащий целые числа в диапазоне (от 1 до 1 миллиона). Есть несколько дубликатов, поэтому некоторые номера отсутствуют. Найдите самый быстрый способ найти пропавших без вести числа?

Я прочитал решения, в которых предлагалось использовать битовые массивы. Как можно хранить каждое целое число в битах?

7
задан Srikar Appalaraju 5 January 2011 в 12:48
поделиться