В моей программе мне нужно проверить, сгенерировано ли уже значение в наборе 2.5 * 10 ^ 9. Я рассчитываю создать примерно половину набора и должен иметь быстрый способ проверить и обновить его. Набор битов показался мне хорошей идеей, поскольку он занимает не слишком много памяти (1 бит на значение) и является быстрым.
Проблема в том, что когда я определяю свой набор в своем классе, я получаю segmentation fault
, поскольку размер слишком велик (он работает с меньшими размерами).
private:
std::bitset<2500000000UL> cover; // not working
std::bitset<25000UL> cover; // working
Есть идеи?
Спасибо
PS: Я бы предпочел не использовать внешнюю библиотеку, если это возможно. Я уже использую GMP , но я не думаю, что у них есть битовая реализация для больших чисел.