Estás en:   ArielOrtiz.com > Programación avanzada > Ejercicios en lenguaje C (parte 2)

Ejercicios en lenguaje C (parte 2)

Objetivos

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.

Descripción

Esta actividad puede ser elaborada de manera individual.

  1. 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
  2. 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

¿Qué se debe entregar?

Sigue las siguientes indicaciones para entregar tu actividad:

Fecha límite: Jueves, Septiembre 1.

Evaluación

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.
© 1996-2011 por Ariel Ortiz Ramírez (ariel.ortiz@itesm.mx)
Desarrollado en Django | Licencia de Creative Commons | HTML5 válido | CSS válido