Freigeben über


bitset::bitset

Erstellt ein Objekt der Klasse bitset<N> und initialisiert die Bits mit oder zu einem angegebenem Wert oder zu den Werten von abgerufenen die Zeichen in einer Zeichenfolge.

bitset( );
bitset(
   unsigned long long _Val
);
explicit bitset(
   const char * _CStr
); 
template< 
  class CharType, 
  class Traits, 
  class Allocator 
>
  explicit bitset(
    const basic_string< CharType, Traits, Allocator >& _Str,
    typename basic_string< 
      CharType, Traits, Allocator >::size_type _Pos = 0
  );
template<
  class CharType,
  class Traits,
  class Allocator 
>
 explicit bitset(
  const basic_string< CharType, Traits, Allocator >& _Str,
  typename basic_string<
    CharType, Traits, Allocator >::size_type _Pos,
  typename basic_string< 
    CharType, Traits, Allocator >::size_type _Count,
  CharType _Zero = CharType (’0’), 
  CharType _One  = CharType (’1’)
);

Parameter

  • _Val
    Die ganze Zahl, deren Darstellung der Basis zwei verwendet wird, um die Bits im bitset zu initialisieren, das erstellt wird.

  • _Str
    Die Zeichenfolge aus den null und von einen verwendet, um die bitset Bitwerte zu initialisieren.

  • _CStr
    E-ähnlich Zeichenfolge im C-Format aus den null und von einen verwendet, um die bitset Bitwerte zu initialisieren.

  • _Pos
    Die Position des Zeichens in der Zeichenfolge, von links nach rechts und Zählen beginnen mit null, verwendet, um das erste Bit im bitset zu initialisieren.

  • _Count
    Die Anzahl der Zeichen in der Zeichenfolge, die verwendet wird, um Anfangswerte für die Bits im bitset bereitzustellen.

  • _Zero
    Das Zeichen, das verwendet wird, um null darzustellen.Der Standardwert ist "0 ".

  • _One
    Das Zeichen, das verwendet wird, um das darzustellen.Der Standardwert ist "1 ".

Hinweise

drei Konstruktoren können verwendet werden, um obects der Klasse bitset<N> zu erstellen:

  • Der erste Konstruktor akzeptiert keine Parameter, erstellt ein Objekt der Klasse bitset<N> und initialisiert alle N-Bits auf einen Standardwert null.

  • Der zweite Konstruktor erstellt ein Objekt der Klasse bitset<N> und initialisiert die Bits, indem der einzelnen unsigned long long-Parameter verwendet.

  • Der dritte Konstruktor erstellt ein Objekt der Klasse bitset<N> und initialisiert die N-Bits auf Werte, die den Zeichen entsprechen, die in er-ähnlich Zeichenfolge im C-Format aus null und von einen bereitgestellt werden.Sie rufen den Konstruktor an, ohne die Zeichenfolge umzuwandeln in einen Zeichenfolgentyp: bitset<5> b5("01011");

Es gibt auch zwei bereitgestellte Konstruktorvorlagen:

  • Die erste Konstruktorvorlage erstellt ein Objekt der Klasse bitset<N> und initialisiert Bits von Zeichen, die in einer Zeichenfolge aus null und von einen bereitgestellt werden.Wenn eine sind Zeichen der Zeichenfolge auf 0, oder 1, der Konstruktor löst ein Objekt der Klasse ungültiges Argument aus.Wenn die angegebene Position (_Pos) der Länge der Zeichenfolge hinaus ist, löst der Konstruktor ein Objekt der Klasse out_of_range aus.Der Konstruktor legt nur die Bits in Position J im bitset fest, für das das Zeichen in der Zeichenfolge an Position 1 _Pos + j . ist.Standardmäßig ist _Pos 0.

  • Die zweite Konstruktorvorlage zur ersten ist ähnlich, aber enthält einen zusätzlichen Parameter (_Count) der verwendet wird, um die Anzahl der Bits anzugeben, um zu initialisieren.Sie enthält auch zwei optionale Parameter, _Zero und _One, die angeben, welches Zeichen in _Str interpretiert werden soll, um 0 Bits und ein 1 Bit wird, bzw.

Beispiel

// bitset_bitset.cpp
// compile with: /EHsc
#include <bitset>
#include <iostream>

int main( )
{
   // Using the default constructor
   using namespace std;
   bitset<2> b0;
   cout << "The set of bits in bitset<2> b0 is: ( "
        << b0 << " )." << endl;

   // Using the second member function
   bitset<5> b1 ( 6 );
   cout << "The set of bits in bitset<5> b1( 6 ) is: ( "
        << b1 << " )." << endl;

   // The template parameter N can be an expresssion
   bitset< 2 * sizeof ( int ) > b2;
   cout << "The set of bits in bitset<2 * sizeof ( int ) > b2 is: ( "
        << b2 << " )." << endl;

   // The base two representation will be truncated
   // if its length exceeds the size of the bitset
   bitset<3> b3 ( 6 );
   cout << "The set of bits in bitset<3> b3( 6 ) is ( "
        << b3 << " )." << endl;

   // Using a c-style string to initialize the bitset
    bitset<7> b3andahalf ( "1001001" );
    cout << "The set of bits in bitset<7> b3andahalf ( \"1001001\" )"
         << " is ( " << b3andahalf << " )." << endl; 

   // Using the fifth member function with the first parameter
   string bitval4 ( "10011" );
   bitset<5> b4 ( bitval4 );
   cout << "The set of bits in bitset<5> b4( bitval4 ) is ( "
        << b4 << " )." << endl;

   // Only part of the string may be used for initialization

   // Starting at position 3 for a length of 6 (100110)
   string bitval5 ("11110011011");
   bitset<6> b5 ( bitval5, 3, 6 );
   cout << "The set of bits in bitset<11> b5( bitval, 3, 6 ) is ( "
        << b5 << " )." << endl;

   // The bits not initialized with part of the string
   // will default to zero
   bitset<11> b6 ( bitval5, 3, 5 );
   cout << "The set of bits in bitset<11> b6( bitval5, 3, 5 ) is ( "
        << b6 << " )." << endl;

   // Starting at position 2 and continue to the end of the string
   bitset<9> b7 ( bitval5, 2 );
   cout << "The set of bits in bitset<9> b7( bitval, 2 ) is ( "
        << b7 << " )." << endl;
}
  
  
  
  
  
  
  
  

Anforderungen

Header: <bitset>

Namespace: std

Siehe auch

Referenz

bitset Class