разрядных операций в наиболее

Автор admin Среда, 10 июня 2009 11:32

разрядных операций в наиболее эффективной форме. Однако во внутренней реализации bitset биты логически упаковываются в массив с целочисленными элементами (обычно unsigned long с минимальной длиной 32 бит). Единственное преобразование bitset в число определено только для unsigned long (оно выполняется функцией to_ulong()). Следующий пример демонстрирует практически все возможности битовых полей (отсутствующие операции несущественны или тривиальны). Справа от выходных данных каждой операции выводится ее краткое описание, а все биты выровнены так, чтобы их было удобно сравнивать с исходными значениями. Если вы еще недостаточно хорошо разбираетесь в поразрядных операциях, эта программа должна помочь. //: C07:BitSet.cpp {-bor} // Работа с классом bitset #i nclude #i nclude #include linclude linclude linclude linclude using namespace std: const int SZ = 32; typedef bitset BS: template bitset randBitsetO { bitset r(randO); for(int i – 0: i < bits/16 – 1: i++) { r «= 16: // Объединение операцией “OR” с младшими 16 битам


Комментарии закрыты.