хороший вопрос, многа букав:
рассмотрим множество всех ip адресов. Мощность 2*32. Эта мощность соответствует множеству 2*32 отдельных битов, если мы сгруппируем эти отдельные биты в байты по 8 штук, то получается 2*29 байт (512Мб) - звучит интересно и нам чтобы это использовать необходимо лишь одно - реализовать симметричное отображение (может забыл уже как зовется поправьте).
Отображением ip в конкретный бит будет преобразование ip в номер бита ip в инт, а инт уже и есть номер бита. И обратное - номер бита в ip.
Так что берем массив из 512кк байт, пишем небольшую обертку по преобразованию ip в два инта номер байта и номер бита в байте и обратно. И готово
Я извиняюсь, а можно попросить код, если не затруднит. Вообще не понял ничего.