Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: palacio29 en 20 Octubre 2016, 00:00 am



Título: Pregunta Simple de Bits en C
Publicado por: palacio29 en 20 Octubre 2016, 00:00 am
Hola

Tengo una pregunta con respecto al uso de bits. Tengo que hacer un programa en el cual forme un nuevo numero a partir de los 2 bits mas significativos del otro.

Es decir....Si me dan el numero 4921.
Tengo que fijarte en los 2 bits mas significativos(los ultimos dos de la izquierda) y formar un nuevo numero a partir de esto.
No tengo idea como hacerlo.


Título: Re: Pregunta Simple de Bits en C
Publicado por: MAFUS en 20 Octubre 2016, 09:19 am
Explícate mejor.


Título: Re: Pregunta Simple de Bits en C
Publicado por: Eternal Idol en 20 Octubre 2016, 10:05 am
El numero tiene que tener un tamaño predefinido de bytes, en tu caso el resultado seria 0 para esos dos bits tomando un int de 4 bytes o un short de 2 bytes. ¿Es un ejemplo que se te ocurrio a vos?

4921 como short:
0001 0011 0011 1001

4921 como int:
0000 0000 0000 0000 0001 0011 0011 1001

Lo que uno haria es un desplazamiento de bits a la derecha:
https://es.wikipedia.org/wiki/Operador_a_nivel_de_bits#Desplazamientos_de_bits

Por ejemplo x >> 14 te daria los dos bits mas significativos de un short.