martes, 7 de febrero de 2012

Single presition

Es un formato numérico de 32bits que representa un rango de valores de punto flotante.


donde su bit representativo demarca el signo, los siguiente 8 un numero entre -127 a 128 con signo; y sin signo de 0 a 255 el cual es el exponente, y por ultimo la parte flotante compuesta por 23 bits.


Conversión 1¬ parte
para convertir de float a decimal se maneja la siguiente ecuación
 valor = (-1) ^ {} signo (1 + \ sum_ {i = 1} ^ {23} b_ {-i} 2 ^ {-i}) \ times 2 ^ {(e-127)}


ejemplo1:


Float example.svg


donde:


  •  el signo es 0
  • el exponente es 124
  • la fracción esta determinada por 01000000000000000000000
entonces tenemos que la fracción se calcula aplicando la formula, tomando los valore solo donde hay valor(1):
1 + \ sum_ {i = 1} ^ {23} b_ {-i} 2 ^ {-i} = 1 + 2 ^ {-2} = 1,25
el exponente lo obtenemos remplazando e por nuestro exponente en este caso 124
e - 127) = 2 124-127 = 2 - 3
y por ultimo operamos y tenemos que:
 valor = 1.25 \ times 2 ^ {-3} = 0,15625


Conversión 2¬ parte
El método para convertir decimal a binario consiste en multiplicar la fracción por 2, e ir tomando la parte entera de este resultado como el número binario correspondiente a la fracción.

ejemplo:
tomemos el numero 0.375
tenemos que   0.375 * 2 = 0.750   luego el primer dígito de la fracción sera 0, y repetimos el proceso
tenemos que   0.750 * 2 = 1.500   el siguiente dígito sera 1 y repetimos el procedimiento con la fracción
tenemos que   0.500 * 2 = 1.000   el siguiente dígito sera 1 y terminamos pues ya no tenemos fracción con la cual continuar, y tenemos que el 0.375 en base 10 es exactamente igual al 0.011 en binario

este método no es muy efectivo pues no siempre es preciso como en el caso de 0.1 en decimal, el cual si realizamos el proceso, nos damos cuenta de que caemos en un ciclo infinito. Cifras como esta solo podemos darle una aproximación.

No hay comentarios:

Publicar un comentario