Está en la página 1de 8

MSc.

RAFAEL ESPINO CAMPOS

Microcontroladores
Operadores en el lenguaje C

CICLO 2021 - 2
Logro de aprendizaje:

Al finalizar la sesión el estudiante sabe utilizar los operadores de comparación,


operadores de relación y operadores lógicos, así como su uso apropiado en las
diferentes aplicaciones.

Operadores 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:

• Es importante conocer la funcionalidad de todos los operadores ya que, dependiendo


del problema a resolver, el uso de determinado operador puede llega a ser
imprescindibles.
• 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