operator>> (<bitset>)


Reads a string of bit characters into a bitset.

   template<class CharType, class Traits, size_t Bits>
basic_istream<CharType, Traits>& operator>> (
   basic_istream<CharType, Traits>& _Istr,
   bitset<N>& _Right


The string that is entered into the input stream to be inserted into the bitset.


The bitset that is receiving the bits from the input stream.

The template function returns the string _Istr.

The template function overloads operator>> to store in the bitset _Right the value bitset(str), where str is an object of type basic_string<CharType, Traits, allocator<CharType> >& extracted from _Istr.

The template function extracts elements from _Istr and inserts them into the bitset until:

  • All the bit elements have been extracted from the input stream and stored in the bitset.

  • The bitset is filled up with bits from the input stream.

  • An input element is encountered that is neither 0 nor 1.


#include <bitset>
#include <iostream>
#include <string>

using namespace std;
int main()

   bitset<5> b1;
   cout << "Enter string of (0 or 1) bits for input into bitset<5>.\n"
        << "Try bit string of length less than or equal to 5,\n"
        << " (for example: 10110): ";
   cin >>  b1;

   cout << "The ordered set of bits entered from the "
        << "keyboard\n has been input into bitset<5> b1 as: ( "
        << b1 << " )" << endl;

   // Truncation due to longer string of bits than length of bitset
   bitset<2> b3;
   cout << "Enter string of bits (0 or 1) for input into bitset<2>.\n"
        << " Try bit string of length greater than 2,\n"
        << " (for example: 1011): ";
   cin >>  b3;

   cout << "The ordered set of bits entered from the "
        << "keyboard\n has been input into bitset<2> b3 as: ( "
        << b3 << " )" << endl;

   // Flushing the input stream
   char buf[100];
   cin.getline(&buf[0], 99);

   // Truncation with non-bit value
   bitset<5> b2;
   cout << "Enter a string for input into  bitset<5>.\n"
        << " that contains a character than is NOT a 0 or a 1,\n "
        << " (for example: 10k01): ";
   cin >>  b2;

   cout << "The string entered from the keyboard\n"
        << " has been input into bitset<5> b2 as: ( "
        << b2 << " )" << endl;



Header: <bitset>

Namespace: std