Me dispongo a hacer este post ya que estoy estudiando algo relacionado con la informatica y necesitaba saber mas sobre este formato y no lo he encontrado por aqui.
En este formato hay dos tipos de representaciones:
Precision doble: 64 bits Signo (1bit) Exponente (11 bits) Mantisa (52 bits)
Precision simple: 32 bits Signo (1bit) Exponente (8 bits) Mantisa (23 bits)
En el signo, el 0 representa que se trata de un numero positivo,mientras que el 1 significa negativo.
Y aqui os traigo unos ejemplos:
1º EJEMPLO: Transformar un numero decimal a formato IEEE 754 (simple precision)
Transformar el numero (101110; 010101110100001111100001111100010011) a formato IEEE 754 (simple precision)
1-Se normaliza el numero (dejando un unico bit a la izquierda de la coma).
(1, 01110010101110100001111100001111100010011) x 2^5
2-El exponente en exceso es 5 + 127 = 132 = (10000100)
3-De la mantisa se cogen los 23 bits mas signicativos 1,0111001010111010000111
4-Cuando la mantisa se normaliza, situando la coma decimal a la derecha del bit mas signicativo,
dicho bit siempre vale 1
Podemos coger un bit mas en la mantisa prescindiendo del 1->01110010101110100001111
5- El numero obtenido es
Signo (1bit) ->0
Exponente (8 bits)-> 10000100
Mantisa (23 bits)->01110010101110100001111
2º EJEMPLO: Transformar un numero en formato IEEE 754 (simple precision) a decimal
Transformar el numero (3E400000)hex en formato IEEE 754 (simple precision) a decimal
1-Transformar el numero a binario y descomponerlo en los campos que lo componen
Signo (1bit) ->0
Exponente (8 bits)-> 01111100
Mantisa (23 bits)->10000000000000000000000
2-Transformar el exponente a base 10 y restarle 127
(01111100)-127=124-127=-3
3-Escribir el numero en notacion cientifica (añadiendo 1; a la mantisa). Tambien despreciamos los 0's a la derecha.
1,1 x 2^-3
4-Expresar el numero en base 10(pasamos el 1,1 en binario a base decimal que es 1,5)
1,5 x 2^-3=0.1875
Espero que os sirva de ayuda si teniais alguna duda sobre este formato y si no lo conociais pues ya lo conoceis.
Si tienen alguna duda o pregunta sobre esto o cualquier cosa no duden en preguntar o mandar mp.
En este formato hay dos tipos de representaciones:
Precision doble: 64 bits Signo (1bit) Exponente (11 bits) Mantisa (52 bits)
Precision simple: 32 bits Signo (1bit) Exponente (8 bits) Mantisa (23 bits)
En el signo, el 0 representa que se trata de un numero positivo,mientras que el 1 significa negativo.
Y aqui os traigo unos ejemplos:
1º EJEMPLO: Transformar un numero decimal a formato IEEE 754 (simple precision)
Transformar el numero (101110; 010101110100001111100001111100010011) a formato IEEE 754 (simple precision)
1-Se normaliza el numero (dejando un unico bit a la izquierda de la coma).
(1, 01110010101110100001111100001111100010011) x 2^5
2-El exponente en exceso es 5 + 127 = 132 = (10000100)
3-De la mantisa se cogen los 23 bits mas signicativos 1,0111001010111010000111
4-Cuando la mantisa se normaliza, situando la coma decimal a la derecha del bit mas signicativo,
dicho bit siempre vale 1
Podemos coger un bit mas en la mantisa prescindiendo del 1->01110010101110100001111
5- El numero obtenido es
Signo (1bit) ->0
Exponente (8 bits)-> 10000100
Mantisa (23 bits)->01110010101110100001111
2º EJEMPLO: Transformar un numero en formato IEEE 754 (simple precision) a decimal
Transformar el numero (3E400000)hex en formato IEEE 754 (simple precision) a decimal
1-Transformar el numero a binario y descomponerlo en los campos que lo componen
Signo (1bit) ->0
Exponente (8 bits)-> 01111100
Mantisa (23 bits)->10000000000000000000000
2-Transformar el exponente a base 10 y restarle 127
(01111100)-127=124-127=-3
3-Escribir el numero en notacion cientifica (añadiendo 1; a la mantisa). Tambien despreciamos los 0's a la derecha.
1,1 x 2^-3
4-Expresar el numero en base 10(pasamos el 1,1 en binario a base decimal que es 1,5)
1,5 x 2^-3=0.1875
Espero que os sirva de ayuda si teniais alguna duda sobre este formato y si no lo conociais pues ya lo conoceis.
Si tienen alguna duda o pregunta sobre esto o cualquier cosa no duden en preguntar o mandar mp.