Autor Tema: Variables Float de 16 bits  (Leído 1558 veces)

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

Desconectado poi5on

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 127
Variables Float de 16 bits
« en: 22 de Febrero de 2010, 15:15:59 »
Hola amigos, gusto en saludarles.

Quisiera saber si hay alguna manera de guardar variables float de 16 bits, ya que tengo que guardar una matriz muy grande de números que oscilan entre -1 y 1 que corresponden a los pesos de una red neuronal y guardar la variable completa de 32bits ocupa demasiado espacio.

O si alguien conoce alguna forma de hacer esto ocupando el menor espacio posible para guardar una red de 10000 neuronas.

Saludos cordiales

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Variables Float de 16 bits
« Respuesta #1 en: 22 de Febrero de 2010, 15:30:01 »
Puedes normalizarlos a números enteros para guardarlos. Para recuperarlos los "desnormalizas".

Asigna el valor de -1.0 a -32767,  0.0 a 0 y +1.0 a 32767.

Ejemplo, un peso vale 0.80765...

0.80765 * 32768 = 26464.0752

Pero lo guardas en la rom como 26464 (signed int 16). Al recuperarlo solo divídelo entre 32767.


 

anything