elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Convertir de IEEE754 de precisión simple a valor decimal.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Convertir de IEEE754 de precisión simple a valor decimal.  (Leído 12,802 veces)
Impersecuto


Desconectado Desconectado

Mensajes: 340


No es ni lo uno ni lo otro sino todo lo contrario.


Ver Perfil
Convertir de IEEE754 de precisión simple a valor decimal.
« en: 18 Noviembre 2010, 16:21 pm »

Hola, necesito crear una rutina en VB6 que convierta una cadena hexadecimal con formato de coma flotante de precisión simple conocida como IEEE754 a un valor decimal.

Por favor, si alguien sabe cuál es la formula para crear las líneas de código que realicen tal acción y me lo puede indicar, se lo voy a agradecer muchísimo.

De antemano muchas gracias.

Saludos.



En línea

Impersecuto de Chile

"Porque no tenemos nada queremos hacerlo todo"
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Convertir de IEEE754 de precisión simple a valor decimal.
« Respuesta #1 en: 18 Noviembre 2010, 17:04 pm »

Hasta donde he podido saber el IEEE754 no se representa como cadena Hexadecimal...
Código:
http://en.wikipedia.org/wiki/IEEE_754-2008#Basic_formats
Por ejemplo el -118,625 es 1 10000101 11011010100000000000000

MOD:
Es esto lo que buscas?
Código:
http://babbage.cs.qc.edu/IEEE-754/32bit.html


« Última modificación: 18 Noviembre 2010, 17:18 pm por Karcrack » En línea

Impersecuto


Desconectado Desconectado

Mensajes: 340


No es ni lo uno ni lo otro sino todo lo contrario.


Ver Perfil
Re: Convertir de IEEE754 de precisión simple a valor decimal.
« Respuesta #2 en: 18 Noviembre 2010, 17:26 pm »


MOD:
Es esto lo que buscas?
Código:
http://babbage.cs.qc.edu/IEEE-754/32bit.html

Así es, es exactamente eso, de hecho, he estado usando el convertidor de ese sitio web para obtener resultados que me permitan seguir avanzando en el programita que estoy creando, pero ya ha llegado el momento de programar ese procedimiento para integrarlo definitivamente y es ahí donde estoy detenido. Cualquier ayuda la agradeceré mucho.

Saludos.
En línea

Impersecuto de Chile

"Porque no tenemos nada queremos hacerlo todo"
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Convertir de IEEE754 de precisión simple a valor decimal.
« Respuesta #3 en: 18 Noviembre 2010, 17:36 pm »

El codigo javascript que utiliza parece bastante complejo...
Mas tarde si puedo intento hacer una funcion...

Un saludo ;)
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Convertir de IEEE754 de precisión simple a valor decimal.
« Respuesta #4 en: 18 Noviembre 2010, 18:07 pm »

Despues de googlear he encontrado una forma hardcodeada de hacerlo:
Código
  1. Private Function IEEE754toDouble(ByVal lNum As Long) As Double
  2.    ' http://stackoverflow.com/questions/1597709
  3.    IEEE754toDouble = (lNum And &HFFFFFF) * (1 / (2 ^ 23)) * (2 ^ ((((lNum And &HFF800000) \ &H800000) And &HFF) - 127))
  4. End Function
He probado con algunos valores y funciona :)
« Última modificación: 18 Noviembre 2010, 18:09 pm por Karcrack » En línea

Impersecuto


Desconectado Desconectado

Mensajes: 340


No es ni lo uno ni lo otro sino todo lo contrario.


Ver Perfil
Re: Convertir de IEEE754 de precisión simple a valor decimal.
« Respuesta #5 en: 18 Noviembre 2010, 20:24 pm »

Muchas gracias Karcrack, estoy tratando de desentrañar la función, pero no entiendo como aplicarlo, donde y en que formato va el hexadecimal a ingresar y como retorna el resultado.

Gracias de nuevo.

Saludos.
En línea

Impersecuto de Chile

"Porque no tenemos nada queremos hacerlo todo"
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Convertir de IEEE754 de precisión simple a valor decimal.
« Respuesta #6 en: 18 Noviembre 2010, 20:28 pm »

Muchas gracias Karcrack, estoy tratando de desentrañar la función, pero no entiendo como aplicarlo, donde y en que formato va el hexadecimal a ingresar y como retorna el resultado.

Gracias de nuevo.

Saludos.
Si no tienes ni idea de VB tal vez deberias utilizar otro lenguaje para esto... ya que, bueno, VB no es muy bueno que digamos para trabajar con numeros...

La cosa seria asi:
Código:
MsgBox IEEE754toDouble(&HABCEDF)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines