CCS - Operadores

De Ucontrol
Saltar a: navegación, buscar

<keywords content="TTL 74Ls164N, electronica, circuito, pic, NE555, PIC BASIC, PIC SIMULATOR IDE, esquema, circuito impreso, proyecto, gratis, download, programa, CMOS, pin, e/s, i/o, ucontrol, PIC, 16F628a, 16f84a" /> <center>


Inicio Foro Revista uControl Circuiteca Microcontroladores Electrónica Básica Herramientas y Software Tutoriales Colaboradores Enlaces
¿Ya descargaste los ejemplares GRATUITOS de la Revista uControl? ¡No te los pierdas!.
<linkedimage>

wikipage=Dado electrónico con PIC tooltip=Dado electrónico con PIC img_src=Image:dado100.jpg img_width=150px img_alt=Dado electrónico con PIC </linkedimage>

Dado electrónico
<linkedimage>

wikipage=Como trucar un servo tooltip=Como trucar un servo img_src=Image:trucaservo150.jpg img_width=150px img_alt=Como trucar un servo </linkedimage>

¿Como trucar un servo?
<linkedimage>

wikipage=Comunicación inalámbrica entre PICs tooltip=Comunicación inalámbrica entre PICs img_src=Image:TXRX150.jpg img_width=150px img_alt=Comunicación inalámbrica entre PICs </linkedimage>

Comunicación inalámbrica
<linkedimage>

wikipage=CCS - Libreria de gráficos para GLCD K0108 tooltip=CCS - Libreria de gráficos para GLCD K0108 img_src=Image:GLCD-100.gif img_width=150px img_alt=CCS - Libreria de gráficos para GLCD K0108 </linkedimage>

Gráficos con CCS
<linkedimage>

wikipage=Funcionamiento de una matriz de LEDs tooltip=Funcionamiento de una matriz de LEDs img_src=Image:GNUxx.jpg img_width=150px img_alt=Funcionamiento de una matriz de LEDs </linkedimage>

Carteles de LEDs
Foroizq.jpg
Todos los articulos y proyectos de uControl tienen su lugar en el foro. Si tienes dudas o comentarios, busca o crea el hilo correspondiente, y tendrás una rapida respuesta.
Foroder.jpg
CCS - Operadores

Introducción

Programando en CCS.

En CCS los operadores cumplen un rol importante. Quizas C sea uno de los lenguajes que mas operadores tiene. Una expresión es una combinacion de operadores y operandos. En la mayoría de los casos, los operadores de CCS siguen las mismas reglas que en álgebra, y se llaman de la misma manera.

Contenido

Operadores aritméticos

CCS posee cinco operadores aritméticos:

  • + (suma)
  • - (substracción)
  • * (multiplicación)
  • / (división)
  • % (módulo)

Los primeros cuatro operadores mencionados se pueden utilizar con cualquier tipo de dato. Estos son algunos ejemplo de como usarlos:

a = b + c;
a = b - c;
a = b * c;
a = b / c;
a = -a;     //Cambia el signo de "a".
a = a + 1;  //suma 1 al valor de "a".

El operador % (módulo) solo puede emplearse con enteros. Devuelve el resto de una división de enteros. Veamos un par de ejemplos:

int a = 10, b = 5, c;
c = a % b;  //"c" valdrá cero.
int a = 20, b = 3, c;
c = a % b;  //"c" valdrá 2.

Atajos

CCS también provee atajos para utilizar los operadores aritméticos. Hay algunas operaciones que se repiten a menudo cuando creamos nuestros programas, y estos atajos ayudan a que podamos escribir nuestro código más rapidamente. Los atajos provistos son los siguientes.

  • a *= b es lo mismo que a = a * b
  • a /= b es lo mismo que a = a / b
  • a += b es lo mismo que a = a + b
  • a -= b es lo mismo que a = a - b
  • a %= b es lo mismo que a = a * b

Operadores Relacionales

Los operadores relacionales comparan dos valores, y devuelven un valor lógico basado en el resultado de la comparación. Los operadores relacionales disponibles son los siguientes:


  • > mayor que
  • >= mayor que o igual a
  • < menor que
  • <= menor que o igual a
  • == igual a
  • != distinto de

el resultado de la comparación, sera siempre 0 o 1. 0 significa que el resultado de la comparación ha sido falso, y 1 que ha sido verdadero.



Operadores Lógicos

Los operadores lógicos disponibles permiten realizar las operaciones AND, OR y NOT:

  • p && q significa p AND q
  • p || q significa P OR q
  • !p significa NOT p

Por supuesto, puede emplearse más de un operador lógico en la misma expresión:

a = b && ( q || n )

Y se pueden comninar con los demas operadores vistos:

a = !(maximo <= 100)  //a sera 1 si maximo es mayor que 100.

Operadores de bits

Existen seis operadores pensados para trabajar directamente sobre los bits. Solamente pueden usarse con variables tipo int y char. Son los siguientes:

  • & (AND)
  • | (OR)
  • ^ (XOR)
  • ~ (complemento)
  • << (desplazamiento a la izquierda)
  • >> (desplazamiento a la derecha)

Estas operaciones se llevan a cabo bit por bit. Veamos un ejemplo:

Supongamos que a = 120 y b = 13.

  • a & b = 8
  • a | b = 125
  • a ^ b = 117
  • ~ a = 135

El porqué de estos resultados puede comprenderse mejor si se pasan los valores de a y b a binario:

a = 11111000
b = 00001101

luego

01111000 AND 00001101 = 00001000
01111000 OR  00001101 = 01111101
01111000 XOR 00001101 = 01110101
NOT 01111000 = 10000111

Los operadores de desplazamiento "corren" el contenido de la variable a la derecha o a la izquierda, rellenando con ceros. Veamos algunos ejemplos:

a = a >> 2   //"corre" el contenido de a dos lugares a la derecha

Si a era igual a 120 ( 01111000 en binario) pasará a valer 30 (00011110 en binario).

a = a << 3   //"corre" el contenido de a cinco lugares a la izquierda

Si a era igual a 120 ( 01111000 en binario) pasará a valer 192 (11000000 en binario).

Atajos

CCS también provee atajos para utilizar los operadores de bits. Hay algunas operaciones que se repiten a menudo cuando creamos nuestros programas, y estos atajos ayudan a que podamos escribir nuestro código más rapidamente. Los atajos provistos son los siguientes.

  • a <<= b es lo mismo que a = a << b
  • a >>= b es lo mismo que a = a >> b
  • a &= b es lo mismo que a = a & b
  • a |= b es lo mismo que a = a | b
  • a ^= b es lo mismo que a = a ^ b


Otros operadores

Quedan por ver aun dos operadores más:

  • ++ Operador incremento
  • -- Operador decremento

Estos operadores permiten sumar (o restar) uno al valor de una variable. Lo que generalmente hariamos asi:

a = a + 1

0 asi:

a = a - 1

lo podemos hacer asi:

a++

o asi:

a--

el resultado sera el mismo, pero es mas corto de escribir, y mas fácil de utilizar en expresiones complejas.

Precedencia de los operadores

Al igual que ocurre en álgebra, en CCS los operadores se evalúan en un orden determinado. La siguiente lista muestra este orden, ordenado de mayor a menor:

  • ()
  • signo +, signo -, ++, --, !, (<tipo>)
  • *, /, %
  • +, -
  • <, <=, >, >=
  • ==, !=
  • &&, ||
  • =, +=, -=, *=, /=, %=

Temas relacionados

Puedes encontrar el resto de los temas que componene este tutorial sobre CCS en esta categoría.

Hay toda una colección de ejemplos sobre este tema. Puedes consultarlos para reforzar lo aprendido aquí.

Autor

Ariel.jpg Datos del Autor
Nombre: Ariel Palazzesi
email: arielpalazzesi@gmail.com
Ver los artículos de este autor. Página con el perfil del autor.


</center>
Cclicence.png

Este contenido se rige por la licencia de Creative Commons "Licencia Creative Commons Atribución-No Comercial-Sin Obras Derivadas 3.0". Para más información, véase la licencia en su forma reducida y completa.

Herramientas personales