std::bitset
tiene un método to_string()
para serializar como una cadena basada en char
de 1
s y 0
s. Obviamente, esto utiliza un solo 8 bits char
para cada bit en el conjunto de bits, haciendo que la representación serializada sea 8 veces más larga de lo necesario.
Quiero almacenar el conjunto de bits en una representación binaria para ahorrar espacio. El método to_ulong()
es relevante solo cuando hay menos de 32 bits en mi conjunto de bits. Tengo cientos.
No estoy seguro de querer usar memcpy()
/std::copy()
en el objeto (dirección), ya que eso supone que el objeto es un POD.binario serialización de std :: bitset
La API no parece proporcionar un identificador para la representación de matriz interna de la que podría haber tomado la dirección.
También me gustaría la opción de deserializar el conjunto de bits de la representación binaria.
¿Cómo puedo hacer esto?
Big Endian o Little Endian? Hace una gran diferencia (orden de bits a.k.a)? –
No realmente. Si el conjunto de bits se guarda como una matriz de caracteres, no hay influencia directa para Endianess. –