Пространства имён
Варианты
Действия

operator<<,>>(std::bitset)

Материал из cppreference.com
< cpp‎ | utility‎ | bitset
 
 
 
std::bitset
Член типов
Оригинал:
Member types
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
bitset::reference
Функции-члены
bitset::bitset
bitset::operator==
bitset::operator!=
Элемент доступа
Оригинал:
Element access
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
bitset::operator[]
bitset::test
bitset::all
bitset::any
bitset::none
(C++11)

 
bitset::count
Потенциала
Оригинал:
Capacity
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
bitset::size
Модификаторы
bitset::operator&=
bitset::operator|=
bitset::operator^=
bitset::operator~
bitset::operator<<=
bitset::operator>>=
bitset::operator<<
bitset::operator>>
bitset::set
bitset::reset
bitset::flip
Преобразования
Оригинал:
Conversions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
bitset::to_string
bitset::to_ulong
bitset::to_ullong(C++11)
Не являющиеся членами функций
Оригинал:
Non-member functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
operator&
operator|
operator^
operator<<
operator>>
Вспомогательные классы
Оригинал:
Helper classes
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
std::hash(C++11)
 
template <class CharT, class Traits, size_t N>

std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& os,

                                              const bitset<N>& x);
(1)
template <class CharT, class Traits, size_t N>

std::basic_istream<CharT, Traits>& operator>>(std::basic_istream<CharT, Traits>& is,

                                              bitset<N>& x);
(2)

Извлекает или заносит битовый набор в поток символов.

1) Записывает битовый набор x в поток символов os так, сначала он сконвертируется в basic_string<CharT,Traits> с помощью to_string(), а затем записывется в os, используя operator<< (является концептом FormattedOutputFunction (функция для форматированного вывода) для строк). Символы, используемые для представления единиц и нулей, берутся из текущей локализации с помощью вызова std::use_facet<std::ctype<CharT>(os.getloc()).widen() с аргументами '1' и '0'.
2) Ведёт себя как FormattedInputFunction (функция форматированного ввода). После проверки, которая может пропустить ведущие пробелы, извлекает до N символов из is и сохраняет символы в битовый поток x.


Символы извлекаются до тех пор пока:

  • N символов будет прочитано
  • Был достигнут конец файла в is
  • Следующий символ не является ни is.widen('0'), ни is.widen('1').

Если ни один символ не был извлечён, то вызывается is.setstate(ios_base::failbit).

Содержание

[править] Аргументы

os - Символьный поток для вывода
is - Символьный поток для ввода
x - Битовый набор для чтения или записи

[править] Возвращаемое значение

Символьный поток, который был использован, то есть os или is.

[править] Пример

#include <bitset>
#include <iostream>
#include <sstream>
 
int main()
{
    std::string bit_string = "001101";
    std::istringstream bit_stream(bit_string);
 
    std::bitset<3> b1;
    bit_stream >> b1; // прочли "001", поток до сих пор содержит "101"
    std::cout << b1 << '\n';
 
    std::bitset<8> b2;
    bit_stream >> b2; // прочли "101", дополняем до 8 бит, и теперь набор содержит "00000101"
    std::cout << b2 << '\n';
}

Вывод:

001
00000101

[править] См. также

Выполняет двоичный сдвиг влево или вправо
(public функция-член) [править]