Navegación
Proyectos
Inicio de sesión
Tweets
Videos
Algoritmo Calendario
Esto es bastante interesante, empecé a desarrollar un código para conocer el día de la semana de un día en particular.
Hay 2 millones de algoritmos para conocer esto, sin embargo la idea de este código es optimizarlo para poder utilizarlo en un microcontrolador de 8 bits.
Por el momento sólo permite conocer el día de la semana de una fecha dada, sumar un día y validar fechas. Habría que pensar que otras funciones agregar.
Libreria
Para obtener la librería, hacer clic en el siguiente enlace.
Libreria de Calendario
- Inicie sesión para enviar comentarios




Una observacion.
olvap — Sáb, 12/19/2009 - 12:49No, se muy bien que significa 8 bits, pero se me ocurre que podes hacerlo mas chico si solo usas un solo entero para definir el dia en lugar de uno para el dia, otro para el mes y otro para el anio. si convertis el dia en numero ocupa 5 posiciones, el anio, te estaa ocupando 4. si solo usas fechas apartir del 2000 una fecha en juliano no llega a las 5 posiciones si usas fechas hasta el 2027.
La ventaja es que despues para hacer las funciones de operar con dias como sumas y restar, solo son sobrecarga de los operadores.
De todas formas no necesitas sobrecargar, La suma quedaria algo asi.
void SumarDia(void)
{ dia ++;}
listo.
con sobre carga seria mas simple porque tedejaria poner cosas como fecha+1; o fecha + 10; o lo que sea, en lugar de fecha.SumarDia() o fecha.SumarDia(10);
Lo importante es que no analisas las mismas cosas mas de una vez. es mas seco 'DRY' :p
Tenes razón, pero...
sebest — Sáb, 12/19/2009 - 14:11Con un entero de 8 Bits, solo se pueden formar 256 números, osea podes formar todos los números que estén entre 0 y 255. Esto número sale de hacer 2 a la 8.
Como este calendario se pensó para integrar en un microcontrolador de 8 Bits se diseño en base a variables de 8 bits, que tienen mejor optimización con estos micros y sólo se usan variables de 16 bits en acumuladores.
Además hablas de sobrecargar las funciones, y este algoritmo esta íntegramente escrito en C, por lo tanto todas esas cosas no existen, los compiladores para microcontroladores en su mayoría son para C (en sus versiones libres), por lo tanto sería inutil escribir un algoritmo en C++
De todas formas seguramente hay cosas para corregir en el algoritmo, y si encontras una forma mejor, podes enviarla y yo completo el algoritmo o lo modifico con el tuyo. Pero debe tener la mayoría de las operación entre variables de 8 bits y ser ISO C.
Gracias por tu comentario.