Hola
Según mi ayuda de Delphi:
Cita:
|
Empezado por Ayuda de Delphi
A 6-byte (48-bit) Real number is divided into three fields:
1 39 8
[s| f | e ]
msb lsb msb lsb
The value v of the number is determined by the following:
if 0 < e <= 255, then v = (-1)s * 2(e-129) * (1.f).
if e = 0, then v = 0.
The Real type can't store denormals, NaNs, and infinities. Denormals become zero when stored in a Real, and NaNs and infinities produce an overflow error if an attempt is made to store them in a Real.
|
Según esto, el primer bit es para el signo, los siguiente 39 son la mantisa, y los últimos 8 el exponente.
Si recuerdo bien lo que me enseñaron en clase de informática, el valor del número sería
f·10^(e-129) (escrito en notación científica).
En trucomanía tienes un par de trucos para pasar Integer<->Binario:
http://www.q3.nu/trucomania/truco.cgi?122&esp
http://www.q3.nu/trucomania/truco.cgi?187&esp
Lo que no sé cómo hacer es extraer esos 39 bits (cuarenta tomando el signo) por separado para pasarlos a binario, y después hacerlo con los otros 8
¿Alguien que aporte cómo, o que me corrija si me equivoco?