Autor Tema: Manejo de float y representacion en LCD  (Leído 1410 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado msegredo

  • PIC10
  • *
  • Mensajes: 7
Manejo de float y representacion en LCD
« en: 12 de Septiembre de 2009, 08:33:20 »
Estoy trabajando sobre el microcontrolador PIC18F4550, con compilador CCS. El sistema consta de un teclado, un lcd, salida usb y de control. El teclado tiene las teclas arriba, abajo, derecha, izquierda, enter y escape. Cuando en el menu del programa pido modificar el valor de un paràmetro del control me surge el siguiente problema:
ese parametro podrìa tener valores negativos como positivos y la escala no esta clara, por lo tanto me interesa que sea una representacion en formato exponencial normalizado, es decir 5.12345E+06 por ejemplo. Entonces estoy usando printf con formato %e. Cuando se edita la idea es que de acuerdo en que posicion se encuentra el cursor es en cuanto se modifica: por ejemplo si se modifica el 2 (en el ejemplo) con la flecha para arriba debo sumar 0.01 E+06.

1 - Como se obtiene el exponente para saber como sumarle de manera "economica" para procesador y memoria? lo obtube asi floor(log10(Flotante)) pero me consume un 10 porciento de la rom...
2 - Como con printf hago que me muestre el + cuando es positivo, es decir que muestre +5.12345E+06, esto lo necesito porque para los negativos le pone el signo, entonces para ganar independencia a la hora de sumar me gustaria una representacion comun.

Muchas gracias, Martin


 

anything