bitset::bitset
Constrói um objeto da classe bitset<N> e inicializa os bits para zero, ou alguns valores especificados, ou para valores obtidos de caracteres em uma cadeia de caracteres.
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
O número inteiro sem sinal cujo a representação de base dois é usada para inicializar os bits em bitset que está sendo construído._Str
A cadeia de caracteres de zero e um usados para inicializar valores de bits de bitset._CStr
Se AC - cadeia de caracteres de estilo de zero e um usados para inicializar valores de bits de bitset._Pos
A posição do caractere na cadeia de caracteres, contando da esquerda para a direita e começando com zero, usada para inicializar o primeiro bit no bitset._Count
O número de caracteres na cadeia de caracteres que é usada para fornecer valores iniciais para os bits em bitset._Zero
o caractere que é usado para representar um zero.O padrão é “0 "._One
O caractere que é usado para representar o.O padrão é “1 ".
Comentários
Três construtores podem ser usados para construir obects da classe bitset<N>:
O primeiro construtor não aceita parâmetros, constrói um objeto da classe bitset<N> e inicializa todos os bits de Em a um valor padrão de zero.
O segundo construtor constrói um objeto da classe bitset<N> e inicializa os bits usando o único parâmetro de unsigned long long .
O terceiro construtor constrói um objeto da classe bitset<N>, inicializando os bits de Em aos valores que correspondem aos caracteres fornecidas em se AC - estilize a cadeia de caracteres de zero e um.Você chama o construtor sem converter a cadeia de caracteres em um tipo cadeia de caracteres: bitset<5> b5("01011");
Também tem dois modelos de construtor fornecidos:
O primeiro modelo de construtor constrói um objeto da classe bitset<N> e inicializa bit de caracteres fornecidos em uma cadeia de caracteres de zero e um.Se qualquer caractere de cadeia de caracteres é diferente de 0 ou 1, o construtor gera um objeto da classe argumento não é válido.Se a posição especificada () é_Posalém de comprimento da cadeia de caracteres, então o construtor gera um objeto da classe out_of_range.O construtor define apenas os bits na posição j no bitset para que o caractere na cadeia de caracteres na posição _Pos + j é 1.Por padrão, _Pos é 0.
O segundo modelo do construtor é semelhante ao primeiro, mas inclui um parâmetro adicional (_Count) que é usado para especificar o número de bits para inicializar.Também tem dois parâmetros opcionais, _Zero e _One, indicando que o caractere em _Str deve ser interpretada para indicar um bit 0 e um de 1 bits, respectivamente.
Exemplo
// 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
Cabeçalho: <bitset>
namespace: STD