Translate

miércoles, 15 de febrero de 2017

Ejercicio en .c 3

En este trabajo se han realizado cuatro ejercicios.
Aquí os dejo enlazado la pagina donde he sacado los ejercicios.

https://dochub.com/franvazquezalonso/aBNrqb/cprogramming_tutorial?dt=j6f6p0mcap1bi79d

Ejercicio 1:


#include <stdio.h>

main()

{

signed int a = 60; /* 60 = 0011 1100 */

unsigned int b = 13;  /* 13 = 0000 1101 */

c = a & b; /* 12 = 0000 1100 */

printf("Line 1 - Value of c is %d\n", c );

c = a | b; /* 61 = 0011 1101 */

printf("Line 2 - Value of c is %d\n", c );

c = a ^ b; /* 49 = 0011 0001 */

printf("Line 3 - Value of c is %d\n", c );

c = ~a; /*-61 = 1100 0011 */

printf("Line 4 - Value of c is %d\n", c );

c = a << 2; /* 240 = 1111 0000 */

printf("Line 5 - Value of c is %d\n", c );

c = a >> 2; /* 15 = 0000 1111 */

printf("Line 6 - Value of c is %d\n", c );
}


Si tu incluyes las declaraciones de variables "unsigned int" declaras las variables sin signo.

Línea 8 .  "c = a & b" realiza la función de ver que valores de binario tienen ambos números en común y los representa como otro número, siendo 60 = 0011 1100 y  13 = 0000 1101, los valores que toman ambos  son: 12 = 0000 1100.

Línea 10 . "c = a | b" realiza la función de poner  los valores que tienen en común o no, siendo 60 = 0011 1100 y  13 = 0000 1101, todos los valores que toman son:  61 = 0011 1101.

Línea 12 . "c = a ^ b" realiza la función de poner los valores que no tiene en común, siendo 60 = 0011 1100 y  13 = 0000 1101, los valores que no tienen en común son:  49 = 0011 0001. 

Línea 14 . "c = ~a" realiza la función de poner los valores opuestos que tenga el número, siendo 60 = 0011 1100, pasa a ser -61 = 1100 0011.

Línea 16 . "c = a << 2" realiza la función de desplazar los valores a la izquierda tantas veces como venga indicado siendo 60 = 0011 1100, pasa a ser 240 = 1111 0000.

Línea 18 . "c = a >> 2" realiza la función de desplazar los valores a la derecha tantas veces como venga indicado, siendo 60 = 0011 1100, pasa a ser 15 = 0000 1111.





Ejercicio 2:

#include <stdio.h>

main()
{

int a = 21;
int c ;

c = a;
printf("Line 1 - = Operator Example, Value of c = %d\n", c );

c += a;
printf("Line 2 - += Operator Example, Value of c = %d\n", c );

c -= a;
printf("Line 3 - -= Operator Example, Value of c = %d\n", c );

c *= a;
printf("Line 4 - *= Operator Example, Value of c = %d\n", c );
c /= a;
printf("Line 5 - /= Operator Example, Value of c = %d\n", c );

c = 200;
c %= a;
printf("Line 6 - %= Operator Example, Value of c = %d\n", c );

c <<= 2;
printf("Line 7 - <<= Operator Example, Value of c = %d\n", c );

c >>= 2;
printf("Line 8 - >>= Operator Example, Value of c = %d\n", c );

c ^= 2;
printf("Line 10 - ^= Operator Example, Value of c = %d\n", c );

c |= 2;
printf("Line 11 - |= Operator Example, Value of c = %d\n", c );

}

c &= 2;
printf("Line 9 - &= Operator Example, Value of c = %d\n", c );


Línea 5 . "c = a" esta función hace que c tenga el valor de a, es decir 21.

Línea 7 . "c += a" esta función hace que se sume a 21, = 42.

Línea 9 . "c -= a" esta función hace que a c  se le reste 21, = 21.

Línea 10 . "c *= a" esta función multiplica c (21) por a, = 441.

Línea 11 . "c /= a" esta función divide c (441) entre a, = 21.

Línea 13 . "c %= a" esta función nos da el resto de la división de c (200) y de a,= 11.

Línea 14 . "c <<= 2" esta función hace que el número en binario se desplace a la izquierda 2 veces. Siendo 11 = 0000 1011 y  44 = 0010 1100. 

Línea 15 . " c >>= 2" esta función hace que el número en binario se desplace 2 veces a la derecha.
Siendo 44 = 0010 1100, y  11 = 0000 1011.

Línea 16 . "c &= 2" esta función hace que se cojan solo los valores en binario que ambos números tienen, siendo 11 = 0000 1011 y 2 = 0000 0010.

Línea 17 . "c ^= 2" esta función hace que se tomen solo los valores de binario que no tienen en común, siendo 2 = 0000 0010 y 2 = 0000 0010, y dando 0 = 0000 0000.

Línea 18 . "c |= 2" esta función hace se tomen todos los valores que tengan ambos números  en común o no en común, siendo 0 = 0000 0000 y 2 = 0000 0010.



Ejercicio 3:

#include <stdio.h>

int main ()
{
/* local variable definition */
int a = 10;

/* check the boolean condition using if statement */
if( a < 20 )
{

/* if condition is true then print the following */
printf("a is less than 20\n" );
}
printf("value of a is : %d\n", a);

return 0;
}

Este programa calcula si a es menor a 20 mediante if y después da el valor de a.

Línea 5 . if  si esto se cumple haría la función que se encuentra tras el if .



Ejercicio 4:

int main ()
{
/* local variable definition */
int a = 100;

/* check the boolean condition */
if( a < 20 )
{

/* if condition is true then print the following */
printf("a is less than 20\n" );
}
else
{
/* if condition is false then print the following */
printf("a is not less than 20\n" );

}
printf("value of a is : %d\n", a);

return 0;
}

Este programa explica si es superior o inferior a 100, mediante un if y un else.

Línea 5 . if  (a < 20) si esto se cumple cumpliria la función que se encuentra tras el if .

Línea 6 . else, si el if de la línea 5 no cumple  la función que se encuentre entre { } tras el else.



Bibliografía:

La información que he utilizado la he cogido de Tecnochamizo2 y de las explicaciones de clase.








No hay comentarios:

Publicar un comentario