Pregunta Simple de Bits en C

Iniciado por palacio29, 20 Octubre 2016, 00:00 AM

0 Miembros y 1 Visitante están viendo este tema.

palacio29

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.

MAFUS


Eternal Idol

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.

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón