TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: JorgitoFRyOle en 17 de Agosto de 2005, 16:43:00
-
Buenas a tos:
Necesito guardar una variable cuyo valor puede ocupar hasta 40bits, por lo que veo en la ayuda de ccs, el tipo mas grande es de 32bits. ¿A quien se le ocurre alguna idea para hacer lo que kiero?
Ya lo he intentado con array de 5bytes o con un array de bytes y no me funciona, con el segundo caso solo me detecta dos bytes y el primero me da error de compilacion por todos laos
A ver si alguien ha hecho algo parecido o tiene una ideilla, he probado muxas cosas pero no le encuentro la solucion
Gracias
1Saludo, Jorge
-
Yo necesité algo parecido y opté por un array de enteros.
En tu caso lo que yo haría sería crearme dos variables de 32bits, una para parte alta y la otra la baja. Lo que se puede complicar es realizar cálculos con esta variable, yo no necesitaba hacerlos por eso con un array me sirvió, pero puede que no sea tu caso.
Espero que te haya servido de algo...
Un saludo
-
Buenas
Gracias por responder. Sobre lo que me comentas de dos variables int32 ya lo he probado, dejando 24bits en la parte baja y 16 en la parte alta, lo que ocurre es, por ejemplo, cuando tengo que representar el valor en decimal 10000000000, el cual ocupa mas de 32bits, en que variable lo guardaria para despues divididirlo en mis dos variables de int32, no se si me entiendes, espero que si.
De todas formas, me has comentado que tu necesitaste algo parecido, me lo podrias enviar e igual a partir de tu ejemplo saco yo mi idea. Mi correo es JorgitoFRyOle@hotmail.com
Gracias
1Saludo
-
Ok, entonces lo que hice no te servirá...
Yo nada mas necesitaba + de 32 bits para crear una trama de datos para enviar, pero no para realizar operaciones ni resultados ni mostrar nada. Lo mÃo trataba de concatenar bloques de bits para su envÃo por RF, pero una vez llega la trama, esa trama se vuelve a desglosar en bloques, asà que de nada te sirve.
Pero he buscado por ahà y puede ser que utilizando bcd se resuelva tu problema, echa un ojo a este enlace:
http://es.wikipedia.org/wiki/C%C3%B3digo_binario_decimal
Espero te sea de ayuda, un saludo