Durante esta actividad, los alumnos serán capaces de:
Esta actividad promueve las siguientes habilidades, valores y actitudes: análisis y síntesis, capacidad de resolver problemas, creatividad, y uso eficiente de la informática y las telecomunicaciones.
Esta actividad puede ser elaborada de manera individual.
Escribe la función mul con el siguient prototipo de función:
unsigned mul(unsigned a, unsigned b);
Dicha función debe implementar la operación de multiplicación utilizando los operadores para manejo de bits y el operador de suma.
Coloca tu código en un archivo llamado mul.c y pruébalo con la siguiente función main:
int main(void) {
printf("%u\n", mul(0, 0));
printf("%u\n", mul(1, 42));
printf("%u\n", mul(0, 42));
printf("%u\n", mul(255, 255));
printf("%u\n", mul(12345, 54321));
printf("%u\n", mul(65535, 65535));
printf("%u\n", mul(65536, 65536));
return 0;
}
La salida esperada es:
0 42 0 65025 670592745 4294836225 0
Escribe la función rol con el siguient prototipo de función:
unsigned rol(unsigned x, unsigned n)
Dicha función debe implementar la operación de rotación izquierda de x un total de n bits. Solo se deben considerar los 5 bits menos significativos de n.
Coloca tu código en un archivo llamado rol.c y pruébalo con la siguiente función main:
int main(void) {
printf("0x%08X\n", rol(0x80000002, 2));
printf("0x%08X\n", rol(0xECAFEBAB, 36));
printf("0x%08X\n", rol(-5, 29));
printf("0x%08X\n", rol(0xDEADBEAF, -48));
printf("0x%08X\n", rol(0x587D6758, 25));
return 0;
}
La salida esperada es:
0x0000000A 0xCAFEBABE 0x7FFFFFFF 0xBEAFDEAD 0xB0B0FACE
Sigue las siguientes indicaciones para entregar tu actividad:
parte2.tgz con los dos archivos fuente. Esto lo puedes hacer con el siguiente comando desde la terminal:
tar czf parte2.tgz mul.c rol.c
Fecha límite: Jueves, Septiembre 1.
Esta actividad será evaluada usando los siguientes criterios:
| 100 | La actividad cumple con todos los requerimientos. |
|---|---|
| -10 | No se incluyó en comentario los datos del autor. |
| 10 | Los programas fuentes producen errores al momento de compilarlos. |
| 50-90 | Los programas tiene algunos errores a tiempo de ejecución. |
| DA | La solución es un plagio. |