Отправляет email-рассылки с помощью сервиса Sendsay

Уроки по C/C++

  Все выпуски  

Уроки по C/C++. Урок 7. Класс bitset


Уроки по C/C++. Рассылки сайта progs.biz
Выпуск № 45
 
Начало > C++ > Библиотека STL > Урок 7

Чарльз Петцольд. Программирование с использованием Microsoft Windows Forms
Чарльз Петцольд. Программирование с использованием Microsoft Windows Forms
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 7.

C++. Библиотека STL
Урок 7. Класс bitset

Класс bitset предназначен для работы с отдельными битами. Т. е. экземпляр этого класса представляет из себя набор переменных булевского типа. Число же битов (булевских переменных) указывается при создании экземпляра класса bitset.

С переменными типа bitset можно производить стандартные побитовые операции. Кроме того, можно получать значения отдельных битов в bitset, число установленных битов, изменять все биты на противоположные и др.

Вот привет использования класса bitset:

    // Объявление и инициализация.
    bitset<3> b0;
    b0[0] = true;
    b0[1] = false;
    b0[2] = true;

    bitset<3> b1(string("001"));
    cout<< b1 <<"\n";

    // Побитовые операции.
    cout<<"*****\n";
    bitset<3> res = b0 & b1; // Побитовое "и".
    cout << res << "\n"; //false, false, true.
    res = b0 | b1; // Побитовое "или".
    cout << res << "\n"; //true, false, true.
    res = b0 ^ b1; // Исключающее "или".
    cout << res << "\n"; //true, false, false.
    cout<<"*****\n";

    // Число установленный битов (т. е. равных true)
    cout << b0.count() << "\n";

    // Общее число элементов.
    cout << b0.size() << "\n";

    // Обращение битов на противоположные.
    b0.flip();
    cout << b0 << "\n";

    // Сдвиг битов влево.
    b1 = b1<<1;
    cout << b1 << "\n";

    // Обнуление всех битов.
    b1 = b1.reset();
    cout << b1 << "\n";
    return 0;

Обратите внимание на 2 способа инициализации - поэлементно (через оператор []) и через класс string, указываемый в качестве параметра конструктора.

Использование всех остальных методов и перегруженных операторов должно быть ясно из комментариев.

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2007 сайт progs.biz
© 2002-2007 Игорь Алексеев

В избранное