C18 trabaja con los operadores mas comunes para todos los compiladores como los: aritméticos, relacionales, lógicos, bitwise, de asignación condicionales y de preprocesado.
Operadores Relacionales
Son los mas comunes, son usados en comparaciones y regresan un valor TRUE o FALSE dependiendo del resultado:
Operadores Aritméticos
Son usados para efectuar las operaciones básicas de las matemáticas y regresan un valor numérico:
Operadores Lógicos
Son usados en comparaciones también, y regresan un valor TRUE o FALSE dependiendo de el resultado de la evaluación:
Operadores Inteligentes "bitwise"
Estos operadores son usados para modificar los BITS de una variable. C18 soporta los siguientes:
La AND inteligente (&) regresa 1 si ambos bits son 1 de otro modo regresa 0:
x = 10;
x = x & 2; // x sera igual a 2 ya que:
1010
& 0010
-----------
0010
El OR (|) inteligente regresa 0 si ambos son cero de otro modo regresa 1:
x = 7;
x = x | 10; // x sera 15 ya que:
0111
| 1010
----------
1111
La XOR (^) inteligente regresara 1 si los bits son complementarios de otro modo regresa cero:
x = 2;
x = x ^ 10; // x sera 8 ya que:
0010
^ 1010
----------
1000
El complemento (~) invierte los bits de la variable:
x = 1;
x = ~ x; // sera igual a 14 ya que:
0001 ~ 1110
Rotar a la izquierda (<<) mueve los bits las posiciones indicadas despues del operador:
x = 10;
x = x <<>
1010
<< 10 1000
Rotar a la Derecha (>>) mueve los bits las posiciones indicadas despues del operador:
x = 10;
x = x >> 3; // sera igual a 1 ya que:
1010
>> 0001 010
Muy bueno
ResponderEliminarFelicitaciones!
<]:-{D