You are on page 1of 3

TUTORIAL BSICO PIC C COMPILER

Los operadores

Aritmticos
+
Suma
resta
*
Multiplicacin
/
Divisin
%
Resto de divisin
++
Incremento

// a = b + c;
// a = b c;
// a = b * c;
// a = b / c;
// a = b % c;
// ++a es lo mismo que
// a=++b;
es lo mismo
// a=b++; //primero a=b
-Decremento
// --a es lo mismo que
// a= --b; es lo mismo que a=b -1
// a=b--; primero a=b y luego b=b -1
Relacionales
<
>
<=

Menor que
Mayor que
Menor o igual que

//
//
//

>=

Mayor o igual que

//

==

Igual a

//

!=

Distinto a

//

Expresin condicional

a = a +1;
que a=b+1;
y luego b=b+1
a = a 1

if (a<b) (c=1); c=1 si a<b


if (a>b) (c=1); c=1 si a>b
if (a<=b) (c=1); c=1 si a<b a es
igual a b
if (a>=b) (c=1);
c=1 si a>b a
es igual a b
if (a==b) (c=1);
c=1 si a es
igual a b
if (a!=b) (c=1);
c=1 si a es
distinto de b
// (a < 2) ? (b =3) : (b = 5); es
lo mismo que if (a <2)(b = 3);
else (b=5);

Lgicos
!
&&

NOT
AND

||

OR

// if ((a&&b)==0) (c=2); si tanto a como b son


cero entonces c=2
// if ((a||b)==0) (c=2); si alguno de los dos a,
b son cero entonces c=2

De bits

Complemento a 1

&

AND

^
|
>>
<<

c =(a&&b); c ser el valor obtenido de


hacer AND de bits entre a y b
OR EXCLUSIVA
// c =(a^b); c ser el valor obtenido de
hacer OR EXCLUSIVA entre a y b
OR
// c =(a|b); c ser el valor obtenido de
hacer OR de bits entre a y b
Desplazamiento a derechas
Desplazamiento a izquierdas

Asignacin

//

+=
-=
*=
/=
%=
<<=
>>=
&=
| =
^=

Asignacin
Asignacin
Asignacin
Asignacin
Asignacin
Asignacin
Asignacin
Asignacin
Asignacin
Asignacin

de suma
de resta
de multiplicacin
de divisin
de resto de divisin
de desplazamiento
de desplazamiento
AND de bits
OR de bits
OR EXCLUSIVA

//
//
//
//
//
//
//
//
//
//

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;
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;

Punteros
&
*

Direccin
Indireccin

->

Puntero a estructura

Las variables
Las variables deben declararse antes de ser usadas para que el procesador sepa que cantidad de memoria reservar para
su uso.
Se declaran segn el siguiente formato:
TIPO_DATO NOMBRE_VARIABLE [=VALOR_INICIAL];
Ejemplos:
int entrada = 5;
float

//Declara la variable entrada como entero


(8 bits)y valor inicial 5
resultado; //Declara resultado como flotante (32 bits)
y valor inicial 0

En esta tabla se pueden ver todos los tipos de variables que pueden ser empleadas
Tipo de
variable
int1
short
int8
int
int16
long int
long
int32
float
char
signed int8
signed int16
signed int32

Tamao

Rango

Descripcin

1 bit

0, 1

Entero de 1 bit

8 bits

-128 a 127

Entero de 8 bits

16 bits

0 a 65535 bits

Entero de 16 bits

32 bits
32 bits
8 bits
8 bits
16 bits
32 bits

0 a 4294967295

Entero de 32 bits
Coma flotante
Carcter
Entero con signo
Entero largo con signo
Entero 32 bits con
signo

0 a 255
-128 a 127
-32768 a 32767

Adems de los tipos definidos por defecto por el compilador CCS, tambin se pueden definir tipos estandarizados
mediante la directiva #Type:

#Type
#Type
#Type

short=8
int=16
long=32

Sern variables de mbito LOCAL cuando se emplean slo en la funcin en la que son declaradas. De
mbitoGLOBAL cuando se emplean en cualquier funcin del programa, declaradas antes y fuera de cualquier funcin.
Ejemplo:

#include <16f876a.h>
#use delay (clock=4000000)
int inicio = 7;

//Variable GLOBAL tipo entero llamada


'inicio' e inicializada a 7

void funcion () {
int temporal;

//Funcin secundaria
//Variable LOCAL tipo entero llamada
'temporal' e inicializada a 0

}
void main() {
float resultado;
char dato;
}

//Funcin principal
//Variable tipo flotante llamada 'resultado'
e inicializada a 0
//Variable tipo carcter llamada 'dato' e
inicializada a 0

You might also like