BUSCAR
INDICE
INDICE DEL TEMA
OBJETIVOS
TEORIA
PALABRAS RESERVADAS
GLOSARIO
EJERCICIOS
RESUELTOS
AUTOEVALUACION
PROPUESTOS
ERRORES
ESTADISTICAS
INICIO
FAQS
LINKS
RECOMIENDANOS
QUIENES SOMOS
MAPA DEL WEB
COLABORAR
Tema 11 Otros tipos de variables: Estructuras
Ejercicios Propuestos

11.3.- El desplazar a la izquierda un entero unsigned en 1 bit es equivalente a multiplicar el valor por 2. Escriba la función power2 que toma dos argumentos enteros number y pow y calcule

number * 2^pow

Utilice el operador de desplazamiento para calcular el resultado. El programa deberá imprimir los valores como enteros y como bits.

11.4.- El operador de desplazamiento a la izquierda puede ser utilizado para empacar dos valores de caracteres en una variable entera no signada de dos bytes.Escriba un programa que introduzca dos caracteres del teclado y que los pase a la función packCharacters. Para empacar dos caracteres en una variable entera unsigned, asigne el primer caracter a la variable unsigned , desplace la variable a la izquierda en ocho posiciones de bits, y combine la variable unsigned con el segundo caracter utilizando el operador OR inclusivo a nivel de bits. El programa deberá extraer los caracteres en su formato de bits, antes y después de haber sido empacados en el entero unsigned, para probar que los caracteres de hecho han sido empacados correctamente en la variable unsigned.

11.5.- Utilizando el operador de desplazamiento a la derecha , el operador AND a nivel de bits y una máscara, escriba la función unpackCharacters que toma el elemento unsigned del ejercicio 11.4 y lo desempaca en dos caracteres. Para desempacar dos caracteres de un entero unsigned de 2 bytes, combine el entero unsigned con la máscara65280 (11111111 00000000) y desplace hacia la derecha el resultado en 8 bits. Asigne el valor resultante a una variable char. A continuación combine el entero unsigned con la máscara 255 (00000000 11111111). Asigne el resultado a otra variable char. El programa deberá imprimir el entero unsigned en bits, antes de ser desempacado, y a continuación imprimir los caracteres en bits para confirmar que fueron desempacados correctamente.