• Domingo 19 de Mayo de 2024, 08:12

Autor Tema:  Trabajar Con Tipos De Variable En Binario  (Leído 1363 veces)

patitofeo

  • Miembro MUY activo
  • ***
  • Mensajes: 145
    • Ver Perfil
Trabajar Con Tipos De Variable En Binario
« en: Lunes 19 de Septiembre de 2005, 12:53 »
0
:hola:

Haber,

lo que intento hacer quizá no tenga mucho sentido, pero es un capricho que tengo.

El caso es que llevo ya mucho rato con ello y no veo la solucion

Me explico:

basicamente consiste en poder comparar una variable del tipo Single a nivel de bit.

Es decir, yo se que un Single son cuatro bytes que representan un número en notación exponente mas mantisa.

Por ejemplo: El valor binario (Tal como se almacena en memoria) de un Single con valor -1 es &HFFFFFFFF.

Pues yo lo que quisiera es conseguir algo como esto

If VarSingle = &HFFFFFFFF Then ....

Que en este caso si funciona ya q el compilador interpreta &HFFFFFFFF como un long que tambien tiene valor -1.

Sin embargo no funciona para ningun otro.

Direis: ¿Por qué este capricho?

Pues es solo porque trabajo con un fichero binario en el que almaceno datos Single.

Cuando un dato no es valido, en vez del Single almaceno en los cuatro bytes correspondientes una convinación de caracteres Ascii ("*", "#", "%"...).  Cuando quiero comparar los datos para ver si son validos o no quisiera poder hacerlo por su codigo ascii. Es decir, usando un numero hexadecimal. Pero no se como hacerlo si el dato esta almacenado en una variable Single.

Podría mirar cual es el valor correspondiente para estos datos en notacion de coma flotante pero son muchas posibilidades y sería trabajoso y un código feisimo.

Yo he trabajado de esta forma en C utilizando punteros y TypeCast pero claro...
En Visual no hay nada de eso.

Si sabeis de algún truquillo os lo agradecería mucho

Saludos

patitofeo

  • Miembro MUY activo
  • ***
  • Mensajes: 145
    • Ver Perfil
Re: Trabajar Con Tipos De Variable En Binario
« Respuesta #1 en: Martes 20 de Septiembre de 2005, 11:18 »
0
¿Alguien sabe si se puede asignar en Visual los valores especiales #INF, #QNaN, #SNaN e #IND en variables de coma flotante (Single y Double)?

En la ventana de inspecciones aparecen estos valores cuando inspeccionamos alguna variable q los tiene, pero no conozco la forma de asignarlos o compararlos desde el código.

Si pudierais hecharme una mano. Este tema me esta volviendo un poco loco. Muchas gracias

Un saludo  :hola: