Conjunto de bits: un conjunto de bits es una array de bool, pero cada valor booleano no se almacena por separado, sino que el conjunto de bits optimiza el espacio de modo que cada bool ocupa solo 1 bit de espacio, por lo que el espacio ocupado por el conjunto de bits bs es menor que el de bool bs[N] y el vector bs(N). Sin embargo, una limitación del conjunto de bits es que N debe conocerse en el momento de la compilación, es decir, una constante (esta limitación no existe con el vector y la array dinámica)
std::conjunto de bits::to_ullong
Esta función convierte el contenido del conjunto de bits en un entero largo largo sin signo. El primer bit del conjunto de bits corresponde al dígito menos significativo del número y el último bit corresponde al dígito más significativo.
Sintaxis:
bit.to_ullong()
Aquí bit es un número en bits (es decir, 101 por 5)
- No estamos pasando ningún parámetro.
- Devuelve el entero convertido.
- overflow_error ocurrirá si el valor no se puede representar en unsigned long long.
Parámetros:
Devolver:
Excepciones:
Ejemplos:
Input : 1010 Output : 10
Input : 10000001 Output :129
# CÓDIGO 1 :
#include <bitset> #include <iostream> #include <limits> using namespace std; int main() { bitset<numeric_limits<unsigned long long>::digits> b(10); cout << b << endl << b.to_ullong(); return 0; } //Code is improved by Rajnis09
PRODUCCIÓN:
0000000000000000000000000000000000000000000000000000000000001010 10
# CÓDIGO 2 :
#include <bitset> #include <iostream> #include <limits> using namespace std; int main() { bitset<numeric_limits<unsigned long long>::digits> b(20); cout << b << endl << b.to_ullong(); return 0; }
PRODUCCIÓN:
0000000000000000000000000000000000000000000000000000000000010100 20
std::conjunto de bits::to_ulong
Esta función convierte el contenido del conjunto de bits en un entero largo sin signo. El primer bit del conjunto de bits corresponde al dígito menos significativo del número y el último bit corresponde al dígito más significativo.
Sintaxis:
bit.to_ulong()
Aquí bit es un número en bits (es decir, 101 por 5)
Parámetros:
No estamos pasando ningún parámetro. Devolver:
Devuelve el entero convertido. Excepciones asociadas:
overflow_error ocurrirá si el valor no se puede representar en unsigned long.
Ejemplos:
Input : 1010 Output : 10
Input : 10000001 Output :129
# CÓDIGO 1 :
#include <bitset> #include <iostream> #include <limits> using namespace std; int main() { bitset<numeric_limits<unsigned long>::digits> b(10); cout << b << endl << b.to_ulong(); return 0; }
PRODUCCIÓN:
0000000000000000000000000000000000000000000000000000000000001010 10
# CÓDIGO 2 :
#include <bitset> #include <iostream> #include <limits> using namespace std; int main() { bitset<numeric_limits<unsigned long>::digits> b(20); cout << b << endl << b.to_ulong(); return 0; }
PRODUCCIÓN:
0000000000000000000000000000000000000000000000000000000000010100 20
Publicación traducida automáticamente
Artículo escrito por pawan_asipu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA