Partager via


bitset::bitset

Crée un objet avec de la classe bitset<N> et initialise les bits à une valeur définie nulle et certaine, ou aux valeurs obtenues à partir de caractères dans une chaîne.

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’)
);

Paramètres

  • _Val
    L'entier non signé dont les performances de la base de deux est utilisée pour initialiser les bits dans le bitset est construit.

  • _Str
    La chaîne des zéros non significatifs et de ceux utilisés pour initialiser les valeurs de bits de bitset.

  • _CStr
    Chaîne de style c des zéros non significatifs et de ceux utilisés pour initialiser les valeurs de bits de bitset.

  • _Pos
    La position du caractère de la chaîne, compter de gauche à droite et à partir de zéro, utilisé pour initialiser le premier bits dans le bitset.

  • _Count
    Le nombre de caractères dans la chaîne utilisée pour fournir des valeurs initiales pour les bits dans le bitset.

  • _Zero
    Le caractère utilisé pour représenter un zéro.La valeur par défaut est « 0 ".

  • _One
    Le caractère utilisé pour représenter ce.La valeur par défaut est « 1 ".

Notes

Trois constructeurs peuvent être utilisés pour construire des obects avec de la classe bitset<N>:

  • Le premier constructeur n'accepte aucun paramètre, construit un objet avec de la classe bitset<N> et initialise tous les bits de N à une valeur par défaut de zéro.

  • Le deuxième constructeur crée un objet avec de la classe bitset<N> et initialise les bits en utilisant le paramètre unique d' unsigned long long .

  • Le troisième constructeur crée un objet avec de la classe bitset<N>, initialisant les bits de N à des valeurs qui correspondent aux caractères fournis dans la chaîne de style c des zéros non significatifs et de celles.Vous appelez le constructeur sans effectuer un cast de la chaîne en un type chaîne : bitset<5> b5("01011");

Il existe également deux modèles de constructeur fournis :

  • Le premier modèle du constructeur crée un objet avec de la classe bitset<N> et initialise les bits des caractères fournis dans une chaîne des zéros non significatifs et de celles.Si des caractères de la chaîne est autre que 0 ou 1, le constructeur lève un objet de classe argument non valide.Si la position spécifiée (_Pos) est au delà de la longueur de la chaîne, le constructeur lève un objet de classe out_of_range.Le constructeur affecte uniquement les bits à la position j dans le bitset pour lequel le caractère de la chaîne à la position _Pos + j est 1.Par défaut, _Pos est 0.

  • Le second modèle de constructeur est semblable au premier, mais inclut un paramètre supplémentaire (_Count) qui est utilisé pour spécifier le nombre de bits pour initialiser.Il est également deux paramètres optionnels, _Zero et _One, qui indiquent quel caractère dans _Str doit être interprète pour indiquer les 0 bits et un 1 bits, respectivement.

Exemple

// 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;
}
  
  
  
  
  
  
  
  

Configuration requise

en-tête : <bitset>

l'espace de noms : DST

Voir aussi

Référence

bitset Class