Representar en coma flotante
Ayer salí a dar una vuelta con mi novia y fuimos a tomar algo con sus amigas. Una de ellas, Itziar, estudia en la comercial y tiene para septiembre una asignatura que mezcla Informática y Estadística. La cosa es que Itziar tenía unos apuntes por ahí y aprovechando que tenía más que medio ITIG (Ingeniero Técnico en Informática de Gestión) a su lado no dudó en preguntarme un problemilla. Este trataba de ese famoso cambio de representación en coma flotante de la IEEE 754: signo, exponente y mantisa. Empecé a mirarme el ejercicio y os juro que no me acordaba de como hacerlo cuando he echo un centenar de ejercicios de este tipo.
Al final mi sabíduria Informática quedó en evidencia, pero tras repasarme el libro de ECO II ahí va la respuesta, la pregunta es representar el número en hexadecimal: C0400000.
1) Lo primero es cambiar el número y ponerlo en binario: 1100/0000/0100/0000/...
2) Después separamos las 3 siguientes partes:
-Signo= 1 (el primer bit empezando por la izq).
-Exponente = 10000000 (los 8 siguientes bits).
-Mantisa = 100000... (los 23 bits que quedan).
3) Si el signo es 1 -> signo negativo.
El exponente es 128 en decimal.
La mantisa es 2^-1 (2 elevado a -1).
4) Aplicar la fórmula:
(1 + mantisa) * 2^exp-sesg (donde sesg es siempre 127).
(1 + 2^-1) * 2^128-127 = (1 + 0.5) * 2^1 = 1.5 * 2 = 3
5) Como el signo es negativo el resultado es -3.
Espero que te haya servido para algo. En el mundo sólo hay 10 tipos de personas: 01-Los que entienden el binario ; 10-los que no.
Al final mi sabíduria Informática quedó en evidencia, pero tras repasarme el libro de ECO II ahí va la respuesta, la pregunta es representar el número en hexadecimal: C0400000.
1) Lo primero es cambiar el número y ponerlo en binario: 1100/0000/0100/0000/...
2) Después separamos las 3 siguientes partes:
-Signo= 1 (el primer bit empezando por la izq).
-Exponente = 10000000 (los 8 siguientes bits).
-Mantisa = 100000... (los 23 bits que quedan).
3) Si el signo es 1 -> signo negativo.
El exponente es 128 en decimal.
La mantisa es 2^-1 (2 elevado a -1).
4) Aplicar la fórmula:
(1 + mantisa) * 2^exp-sesg (donde sesg es siempre 127).
(1 + 2^-1) * 2^128-127 = (1 + 0.5) * 2^1 = 1.5 * 2 = 3
5) Como el signo es negativo el resultado es -3.
Espero que te haya servido para algo. En el mundo sólo hay 10 tipos de personas: 01-Los que entienden el binario ; 10-los que no.
3 comentarios
Otegi -
No se si sabias de su existencia pero es q esta realmente currado. Los frikis la gozaran ---> http://www.asciimation.co.nz
Otegi -
la rubia -