martes, 7 de febrero de 2012

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.

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.

One's and Two's complement

Al tener el numero base decimal, ejemplo el 19 en binario es equivalente a 00010011

Obtenemos el One's complemet al negar cana uno de sus bits
entonces:                 00010011
se convierte en :      11101100

El Two's complemet se obtiene al simarle 1 bit al numero en One's complemet
luego:
                                11101100
                            +  00000001
                            ----------------
                                11101101                  este resultado es el numero en Two's complemet

y es equivalente a -19 en decimal