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.6.- Si su sistema utiliza enteros de 4 bytes, vuelva a escribir el programa del ejercicio 11.4 para empacar cuatro caracteres.

11.7.- Si su sistema utiliza enteros de 4 bytes , vuelva a imprimir la función unpackCharacters del ejercicio 11.5 para desempacar 4 caracteres. Crear la máscaras que necesite para desempacar los 4 caracteres desplazando hacia la izquierda el valor 255 en la variable de enmascaramiento en 8 bits 0, 1, 2 o 3 veces, (dependiendo del byte que está desempacando).

11.8.- Escriba un programa que invierta el orden de los bits de un valor entero no signado. El programa deberá introducir el valor proveniente del usuario y llama a la función reverseBits para imprimir los bits en orden inverso. Imprima el valor en bits tanto antes como después de la inversión de bits, para confirmar que los bits hayan sido invertidos correctamente.

11.9.- El programa siguiente utiliza la función múltiple para determinar si el entero introducido desde el teclado es un múltiplo de algún entero x. Examine la función múltiple y a continuación determine el valor de x.

/* Este programa determina si un valor es múltiplo de x */

#include <stdio.h>

int multiple(int);

main() {

int y;

printf("Introduce un entero entre 1 y 32000: ");

scanf("%d", &y);

if (multiple(y))

printf("%d es un múltiplo de x\n", y);

else

printf("%d no es un múltiplo de x\n", y);

return 0;

}

int multiple(int num){

int i, mask = 1, mult = 1;

for (i = 1; i <= 10; i++, mask <<= 1)

if ((num & mask) != 0){

mult = 0;

break;

}

return mult;

}