Я ищу реализацию битового набора C++, которая может ответить, если бит установлен в диапазоне. std::bitset, vector и boost::dynamic_bitset все дают доступ к отдельным битам, которые я могу контактировать, но это не самый эффективный способ запросить диапазон бит, чтобы спросить, установлен ли бит бит. Мне даже не нужно знаете, какой из них.Как запросить, установлен ли бит в диапазоне в C++ std :: bitset?
bitset b;
if(b.any(33, 199))
{
// ...
}
Есть ли библиотека, которая предоставляет это? Я хотел бы запустить некоторые тесты против других реализаций (включая один, который мне, возможно, придется писать), но я не могу найти никаких возможностей для реализации этой функции.
Можете ли вы предоставить ссылку? Я вижу 'any()' в ссылке, но не один, основанный на диапазоне бит. – JaredC
std :: bitset :: any(): http://en.cppreference.com/w/cpp/utility/bitset/all_any_none, вы используете C++ 11, правильно? –
Я могу использовать C++ 11, но я не думаю, что 'any()' вы связаны с поддержкой ** диапазоны **. То есть он не может ответить на вопрос «какой-либо бит в диапазоне [x, y] установлен?». – JaredC