bitset::bitset
Construye un objeto de la clase bitset<N> e inicializa los bits un cero, o algún valor especificado, o los valores obtenidos de los caracteres de una cadena.
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’)
);
Parámetros
_Val
El entero sin signo cuya representación de base dos se usa para inicializar los bits del bitset que es construido._Str
La cadena de ceros y de los utilizados para inicializar los valores de bit de bitset._CStr
Una cadena de lenguaje c. de los ceros y de los utilizados para inicializar los valores de bit de bitset._Pos
La posición del carácter de la cadena, contando de izquierda a derecha y a partir de cero, que se utiliza para inicializar el primer bit del bitset._Count
El número de caracteres de la cadena que se utiliza para proporcionar los valores iniciales de los bits del bitset._Zero
el carácter que se utiliza para representar un cero.El valor predeterminado es “0 "._One
el carácter que se utiliza para representar el.El valor predeterminado es “1 ".
Comentarios
Tres constructores pueden utilizarse para construir obects de la clase bitset<N>:
El primer constructor no acepta parámetros, crea un objeto de la clase bitset<N> e inicialice todos los bits n en un valor predeterminado de cero.
El segundo constructor crea un objeto de la clase bitset<N> e inicializa los bits utilizando el único parámetro de unsigned long long .
El tercer constructor crea un objeto de la clase bitset<N>, inicializando los bits n a valores que corresponden a los caracteres proporcionados en c. cadena de caracteres de estilo de ceros y de unos.Llama al constructor sin el inicio de la cadena en un tipo string: bitset<5> b5("01011");
También hay dos plantillas de constructor proporcionadas:
La primera plantilla del constructor crea un objeto de la clase bitset<N> e inicializa los bits de caracteres proporcionados en una cadena de ceros y de unos.Si algunos caracteres de la cadena se distinto de 0 o de 1, el constructor produce un objeto de clase argumento no válido.Si la posición especificada (_Pos) es más allá de la longitud de la cadena, el constructor produce un objeto de clase out_of_range.El constructor establece solo los bits en j de ubicación en el bitset para el que el carácter de la cadena en la posición _Pos + j es 1.de forma predeterminada, _Pos es 0.
La segunda plantilla de constructor es similar a la primera, pero incluye un parámetro adicional (_Count) que se utiliza para especificar el número de bits para inicializar.También tiene dos parámetros opcionales, _Zero y _One, que indican qué carácter en _Str debe interpretarse para indicar 0 y un 1 bits, respectivamente.
Ejemplo
// 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;
}
Requisitos
encabezado: <bitset>
espacio de nombres: std