Operaciones de bit
Publicado por wintermute (11 intervenciones) el 07/04/2004 10:50:32
¡Hola, compañeros!
Os quiero plantear un nuevo problema que me ha surgido. Tengo que ir recogiendo un número x de bits de un fichero binario. Poniendo un ejemplo, que queda más claro: Pongamos, por ejemplo, el primero byte como 10000101. Ahora el problema es que tengo que recoger los 4 primeros bits. Pero claro, para otros campos tengo que recoger distintos números de bits de distintos tamaños (hay campos desde 4 bits hasta 32 bits, y no hay separador de campos).
¿Se os ocurre cómo podría solucionarlo? En principio, el fichero puede tener un tamaño ilimitado.
A mi se me había pasado por la cabeza una función para desplazamiento de bits que devuelva los bits eliminados, en lugar del número modificado. Es decir, con el ejemplo anterior, para un desplazamiento de 4 bits a la izquierda que devuelva 1000 y modifique el número dejándolo en 0101 y lo que venga detrás. Pero no sé hasta qué punto ésto es posible.
Muchas gracias de antemano por cualquier solución, sugerencia o comentario.
Un saludo...
Os quiero plantear un nuevo problema que me ha surgido. Tengo que ir recogiendo un número x de bits de un fichero binario. Poniendo un ejemplo, que queda más claro: Pongamos, por ejemplo, el primero byte como 10000101. Ahora el problema es que tengo que recoger los 4 primeros bits. Pero claro, para otros campos tengo que recoger distintos números de bits de distintos tamaños (hay campos desde 4 bits hasta 32 bits, y no hay separador de campos).
¿Se os ocurre cómo podría solucionarlo? En principio, el fichero puede tener un tamaño ilimitado.
A mi se me había pasado por la cabeza una función para desplazamiento de bits que devuelva los bits eliminados, en lugar del número modificado. Es decir, con el ejemplo anterior, para un desplazamiento de 4 bits a la izquierda que devuelva 1000 y modifique el número dejándolo en 0101 y lo que venga detrás. Pero no sé hasta qué punto ésto es posible.
Muchas gracias de antemano por cualquier solución, sugerencia o comentario.
Un saludo...
Valora esta pregunta


0