Autor Tema: Equivalencia de flotante  (Leído 1960 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Equivalencia de flotante
« en: 08 de Febrero de 2007, 20:22:53 »
Hola  :)

Estoy almacenando un valor flotante en la memoria interna del pic con la librería internal_eeprom.c. Me están surgiendo dudas de si se guardan mis valores o no... por ejemplo, si tengo en la eeprom el valor 0xffffffff (4 localidades vacías ó 4 bytes que tienen puras f's) y hago lo siguiente...

yosoyflotante=read_float_eeprom(direccion);

yosoyflotante tendrá un valor hexadecimal de 0xffffffff... pero... ¿a qué equivale en flotante?

Busqué en el foro la forma en que se almacenaban los flotantes pero no doy con las palabras clave de la búsqueda.  :(  Recuerdo que un byte almacenaba el punto decimal y otro el exponente... pero no me acuerdo del todo  :oops:

Gracias
« Última modificación: 08 de Febrero de 2007, 20:25:41 por migsantiago »

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Equivalencia de flotante
« Respuesta #1 en: 08 de Febrero de 2007, 21:40:07 »
Hola  :)

Estoy almacenando un valor flotante en la memoria interna del pic con la librería internal_eeprom.c. Me están surgiendo dudas de si se guardan mis valores o no... por ejemplo, si tengo en la eeprom el valor 0xffffffff (4 localidades vacías ó 4 bytes que tienen puras f's) y hago lo siguiente...

yosoyflotante=read_float_eeprom(direccion);

yosoyflotante tendrá un valor hexadecimal de 0xffffffff... pero... ¿a qué equivale en flotante?

Busqué en el foro la forma en que se almacenaban los flotantes pero no doy con las palabras clave de la búsqueda.  :(  Recuerdo que un byte almacenaba el punto decimal y otro el exponente... pero no me acuerdo del todo  :oops:

Gracias

Eso lo debiera comentar la gente de CCS en su manual.  Cada compilador puede adoptar el estándar que le parezca para decidir como acomodar los aportes.

En el caso de Microchip en su C18 usa su propio formato el cual es comentado en sus datasheets.

Saludos


- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Equivalencia de flotante
« Respuesta #2 en: 09 de Febrero de 2007, 06:52:46 »
Buenas!!! En el manual del compilador, si le damos a marcadores en la sección COMMON QUESTIONS AND ANSWERS, la pregunta What is the format of floating point numbers? Está explicado el formato que adopta CCS para los números en coma decimal.


Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado dhmejia

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 260
Re: Equivalencia de flotante
« Respuesta #3 en: 09 de Febrero de 2007, 09:39:16 »
En el mplab en la ventana del watch se puede agregar la variable de punto flotante, se puede agregar dos veces, una se visualiza en flotante y la otra se configura para que se vea en hexadecimal, adjunto una imagen de captura de la ventana watch con un float.

espero haber sido claro.

saludos
Pereira - Colombia

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Equivalencia de flotante
« Respuesta #4 en: 09 de Febrero de 2007, 11:50:38 »
Leyendo el manual de CCS me doy cuenta de que hay un convertidor numérico en el compilador...

Gracias Vszener y a los demás por la ayuda.

« Última modificación: 09 de Febrero de 2007, 11:54:08 por migsantiago »