TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Marttyn en 12 de Abril de 2007, 22:52:52

Título: int1, int8, int16, short int, boolean, etc...
Publicado por: Marttyn en 12 de Abril de 2007, 22:52:52
estoy dando vueltas por el foro y leyendo de a poco la partes interesantes  8)  del manual de ccs. y no paro de encontrar diferentes formas de declarar una variable...  :shock:
que alguien me diga si a TODOS los efectos esto es lo mismo:
int1=short int=boolean=short
int=int8=byte=char
long int=int16=float=long
int32=float
ya sin entrar con los signed y unsigned...
con tantas variantes a veces no se como declarar una variable!
aunque creo que lo mas practico y facil a la vista es declarar in1, int8, int16, int32...
xq tantas maneras de declarar?  :?
supongo que char contendra un caracter, byte una palabra de 8 bits y int un numero (por poner ejemplos)... aunque en la practica, todas almacenan la informacion de la misma manera, solo sirve a efectos de comprension al leer el codigo

ah... por cierto, algo que tambien queria preguntar: al asignarle un valor a una variable, declarar los puertos, hacer calculos, etc... da igual que escriba los numeros en hex, octal, decimal, o binario? el compilador luego los traducira todo a hex, con lo que supongo sera mejor escribir de la manera que mejor lo entienda yo, no?
Título: Re: int1, int8, int16, short int, boolean, etc...
Publicado por: MGLSOFT en 13 de Abril de 2007, 08:21:03
Mas o menos es asi, aunque cuando declaras un char normalmente lo veras como char, prueba en enviar por medio de printf() todos estos formatos con el mismo valor a ver que recibes...

Una correccion:

Una Float es solo una variante de Int32. (ocupa 4 bytes)
Título: Re: int1, int8, int16, short int, boolean, etc...
Publicado por: maunix en 13 de Abril de 2007, 08:50:44
Muchachos, hasta donde sé, un FLOAT no es un INT32 ni cerca.

un Float, tiene 3 bytes para la mantisa y un byte para el exponente.

Ambos ocupan 4 bytes pero... no son compatibles.

Saludos
Título: Re: int1, int8, int16, short int, boolean, etc...
Publicado por: MGLSOFT en 13 de Abril de 2007, 10:20:02
Es correcto lo de Maunix, solo quise aclarar que no era igual a Int16 ni a long, pero oscureci mas con mi aclaracion... mil disculpas. :? :?
Título: Re: int1, int8, int16, short int, boolean, etc...
Publicado por: Marttyn en 13 de Abril de 2007, 12:25:43
pues todo aclarado!  :-/
lo de ver lo que me devuelve por el printf sera mas adelante, todavia no hice ningun proyecto para cominicar el pc con el pic, pero supongo que sera pronto, porque esto es tan adictivo que cada vez quiero aprender mas!  :mrgreen:
que me decis sobre escribir numeros en sus 4 variantes (hex,dec,oct,bin)? al compilador le da igual o interpreta unos de una manera y otros de otra?
Título: Re: int1, int8, int16, short int, boolean, etc...
Publicado por: maunix en 13 de Abril de 2007, 14:45:24

que me decis sobre escribir numeros en sus 4 variantes (hex,dec,oct,bin)? al compilador le da igual o interpreta unos de una manera y otros de otra?

Al compilador le da igual.  A vos te sirve para mayor legibilidad, dependiendo del caso ;)

Saludos