Está en la página 1de 12

MSc.

RAFAEL ESPINO CAMPOS

Microcontroladores
Operadores en el lenguaje C

CICLO 2022 - 1
Logro de aprendizaje:

Al finalizar la sesión el estudiante sabe utilizar los operadores aritméticos, operadores


de asignación y de asignación especial, operadores de comparación, operadores de
relación y operadores lógicos, así como su aplicación con los diferentes tipos de
variables.

Operadores básicos en el lenguaje C


Clases de almacenamiento de variables:

Hay algunas declaraciones que no especifican el tipo de variable, sino que están
relacionados a la clase de almacenamiento:

• Se puede utilizar una variable global en archivos distintos a aquel en el que está
definida, volviéndola a declarar con el prefijo del especificador extern, en los otros
archivos.
char k = 2; extern char k;
… …

File1.c File2.c

• Las variables static mantienen su valor a lo largo de toda la ejecución del programa,
independiente del ámbito en el que están definidos. Una variable estática solo será
accesible desde la función donde fue declarada o en el mismo fichero (si esta fuera de
las funciones). Es decir, no pueden ser accedidas desde otro fichero.

Operadores básicos en el lenguaje C


Constantes:
• Las constantes representan valores numéricos o de caracteres que no se pueden cambiar. En
lenguaje C se refiere a dos cosas: un tipo de variable o una cadena o valor numérico
incorporado directamente en el código C.
• En el caso que a una variable se le quiera asignar un valor una única vez, se utiliza el
calificador const, el cual se puede aplicar a muchos tipos de datos. Cuando se declara que
una variable es una constante se le debe asignar un valor al declararla y su valor no se puede
reasignar (genera error), p.ej.: const int temp = 25.
• También se puede declarar expresiones constantes explícitamente como un tipo particular de
valor, considerando ciertas convenciones tipográficas, p.ej.:

#define AREA 60
#define TEMP 25L (constante definida explícitamente como long)
#define PI 3.141516 (constante Float)
#define VAR 0xFF (número hexadecimal)

Operadores básicos en el lenguaje C


Expresiones y operadores:

• Un operador es un carácter o una cadena de caracteres que se utiliza como función


incorporada. Se llama así porque toma uno o mas valores y opera sobre ellos para
producir un resultado, p.ej.: +, %, &&.
• Una expresión es una cadena de operadores, variables, números o alguna combinación
que el compilador puede analizar, p.ej.: Var = 9 / 3 + 7 * 5 % 2 – 1.
• En lenguaje C hay unos 40 operadores diferentes:

− Operadores aritméticos:
¿Cuánto vale la variable Var?

+ - * / %
Observación: al igual que en álgebra,
se considera que los operadores tienen
adición sustracción multiplicación división resto entero prioridades y algunos operadores se
evalúan antes que otros.

Operadores básicos en el lenguaje C


Operadores:

− Operadores de asignación y de asignación especial:

= ++ -- int Var = 5;

Var = Var + 1; o Var++;


asignación incremento decremento
Var = Var – 1; o --Var;

+= -= *= /= %= Var = Var + 10; o Var += 10;

Var = Var % 3; o Var %= 3;

asignación asignación asignación de asignación asignación


de suma de resta multiplicación de división de resto

Operadores básicos en el lenguaje C


Operadores:

− Operadores de comparación:

Estos operadores principalmente se


utilizan en pruebas lógicas como en
== != > < >= <= declaraciones if.

Es No es Es mayor Es menor Es mayor Es menor No confundir el operador de igualdad


igual a igual a que que que o que o (==) con el operador de asignación (=).
igual a igual a

− Operadores lógicos:
Estos operadores usualmente se
utilizan al realizar 2 o mas
&& || ! comparaciones.

int Eval, a = 5, b = 3, c = 1;
AND OR NOT
lógico lógico lógico Eval = (a > b) && !(b < c);

Operadores en el lenguaje C
Operadores:

− Operadores bit a bit:


El lenguaje C también permite realizar
operaciones a nivel de bits (operan
cada bit de manera individual)
| ^ & ~ |= ^= &=

No confundir los operadores bit a


OR OR Asignación Asignación Asignación bit (como & o |) con los operadores
AND NOT
inclusiva exclusiva OR inclusiva OR exclusiva AND
de lógicos (como && o ||).

− Operadores de desplazamiento de bits: Los operadores de desplazamiento de


bits mueven cadenas de bits completas
hacia la derecha o izquierda, un
<< >> <<= >>= número determinado de posiciones.

int Var, a = 20;


Desplazamiento Desplazamiento Asignación de Asignación de
de bits a la de bits a la desplazamiento de desplazamiento de Var = a >> 2;
izquierda derecha bits a la izquierda bits a la derecha

Operadores en el lenguaje C
Mascaras:

• Una mascara es una cadena de bits que se coloca sobre otra cadena de bits para producir un
resultado esperado. Es muy útil para manejar indicadores (“Flags”), los cuales se encuentran dentro
de una cadena de bits.
• Los operadores bit a bit se utilizan a menudo para establecer un indicador en particular con el uso de
máscaras.

Ejemplo:

Se tiene un registro REG1 el cual tiene un valor inicial igual a 0x9D. Se desea establecer el bit 3 como 0.

Solución:

En binario el registro REG1 tiene el valor:


1 0 0 1 1 1 0 1
7 6 5 4 3 2 1 0
REG1 = REG1 operando MASCARA; MSB LSB

REG1 &= 0b11110111;

Operadores en el lenguaje C
Ejercicios:

• Se desea calcular la resistencia equivalente de dos resistencias en paralelo R1 y R2, cuyos valores
se deben ingresar.
• Calcular la aceleración de la gravedad, considerando las leyes de Newton:
𝐺. 𝑚. 𝑀
F=
𝑟2
Donde “F” es la fuerza de la gravedad, “M” es la masa de un objeto, “m” es la masa de otro objeto y “G” es la
constante de gravitación universal (𝐺 = 6.672𝑥10−11 𝑁. 𝑚2Τ𝑘𝑔2 ). Y:
F = 𝑚. 𝑎
Donde “m” es masa y “a” es la aceleración.
Considerar que la masa de la tierra 𝑀𝐸 = 5.96𝑥1024 𝑘𝑔 y el radio de la tierra 𝑅𝐸 = 6375 𝑘𝑚.

• Se tiene un registro REG1 el cual tiene un valor inicial igual a 0xB5. Se desea establecer el bit 2
como 1 y el bit 5 como 0.

Operadores en el lenguaje C
Conclusiones:

• Definir correctamente el tipo de variable apropiado ayuda a que el código sea


optimizado y se utilicen únicamente los recursos necesarios.
• Es importante conocer los diferentes tipos de operadores para poder aprovechar
su funcionalidad en diferentes aplicaciones.
• Se debe tener especial cuidado con aquellos operadores que tienen similitudes,
pero cuyos resultados en la mayoría de casos son diferentes.

Operadores en el lenguaje C
MUCHAS GRACIAS POR LA ATENCIÓN PRESTADA

También podría gustarte