Calculadora IEEE P754 Profesional

Estándar de Representación en Coma Flotante

Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática
Universidad de Huelva · Estructura de Computadores

Dedicado a Manuel Joaquín Redondo González
🔢 Conversor
📚 Teoría
✍️ Guía Manual
⚖️ Comparación

Simple Precisión

32 bits (1+8+23)

Doble Precisión

64 bits (1+11+52)

Conversor IEEE 754 - Formatos de Representación

SIMPLE PRECISIÓN (32 bits)
Signo (1 bit)
0
Exponente (8 bits)
0
0
0
0
0
0
0
0
Mantisa (23 bits)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
INFORMACIÓN DEL FORMATO
Simple Precisión (32 bits):
  • n = 32 bits (total)
  • q = 8 bits (exponente)
  • p = 24 bits (precisión con bit implícito)
  • Exceso: 2q-1 - 1 = 127
  • Base: r = 2
Fórmula Normalizada:
V(X) = (-1)S × 1,M × 2E-127
Fórmula Desnormalizada:
V(X) = (-1)S × 0,M × 2-126
Casos Especiales:
  • E = 0, M = 0: Cero (±0)
  • E = 0, M ≠ 0: Desnormalizado
  • E = 255, M = 0: Infinito (±∞)
  • E = 255, M ≠ 0: NaN (Not a Number)

Representación en la Recta Real

Normalizado -
DN-
DN+
Normalizado +
-∞
-(4)
-(3)
-(1)
0
(1)
(2)
(3)
+∞
Desnormalizados
Normalizados
Valor Actual

🔴 Desnormalizados Negativos

Condición: E = 0, M ≠ 0, S = 1

Rango:

-2-149 a -(1-2-23)×2-126

≈ -1.4×10-45 a -1.18×10-38

Fórmula:

V(x) = -0,M × 2-126

🔵 Normalizados Negativos

Condición: E ∈ [1,254], S = 1

Rango:

-2-126 a -(2-2-23)×2127

≈ -1.18×10-38 a -3.4×1038

Fórmula:

V(x) = -1,M × 2E-127

⚪ Cero

Condición: E = 0, M = 0

Valor: ±0

El signo puede ser 0 o 1

Representación:

+0: 0 00000000 00000000000000000000000

-0: 1 00000000 00000000000000000000000

🟢 Normalizados Positivos

Condición: E ∈ [1,254], S = 0

Rango:

2-126 a (2-2-23)×2127

≈ 1.18×10-38 a 3.4×1038

Fórmula:

V(x) = +1,M × 2E-127

🟡 Desnormalizados Positivos

Condición: E = 0, M ≠ 0, S = 0

Rango:

2-149 a (1-2-23)×2-126

≈ 1.4×10-45 a 1.18×10-38

Fórmula:

V(x) = +0,M × 2-126

⚠️ Valores Especiales

Infinito: E = 255, M = 0

+∞: 0 11111111 00000000000000000000000

-∞: 1 11111111 00000000000000000000000

NaN: E = 255, M ≠ 0

Resultado sin sentido (0/0, ∞/∞, etc.)

📌 Nota Importante: La diferencia entre el punto (3) y el punto (2) coincide con la resolución en la zona desnormalizada (2-149), lo que hace que la diferencia entre una representación y la siguiente en el rango [0, 2-126] sea siempre la misma: 2-149.

Resultados de la Conversión

Representación Binaria
00000000000000000000000000000000
Representación Hexadecimal
0x00000000
Valor Decimal Recuperado
0

Desglose de Campos

S
EEEEEEEE
MMMMMMMMMMMMMMMMMMMMMMM

🔴 Signo (S) - 1 bit

Valor binario: -
Significado: -

🟢 Exponente (E) - 8 bits

Valor binario: -
Valor decimal: -
Exponente real (E-127): -
Potencia de 2: -

🔵 Mantisa (M) - 23 bits

Valor binario: -
Valor decimal: -
Con bit implícito: -
⚠️ Casos Especiales del Estándar IEEE P754:
E = 0, M = 0: Representa al valor "±0" (el signo puede ser 0 o 1)
E = 0, M ≠ 0: Representaciones desnormalizadas
V(X) = (-1)S · 0,M · 2-126
E = 255, M = 0: Representa "+∞" (S=0) o "-∞" (S=1)
E = 255, M ≠ 0: Indica que el resultado no tiene sentido (NaN - Not a Number)

Proceso de Conversión Paso a Paso

ℹ️
Introducción

Ingresa un número decimal para ver el proceso completo de conversión a IEEE 754 según el estándar.

Recordatorio: El estándar IEEE 754 incluye tanto las representaciones de los operandos como la forma de realizar las operaciones; especifica el formato de los números, las operaciones básicas, las conversiones y las condiciones excepcionales.

📝 Guía Paso a Paso para Resolver Ejercicios con Papel y Bolígrafo

Esta guía te enseña a resolver cualquier ejercicio de IEEE 754 manualmente, siguiendo la metodología del profesor.

1
Determinar si el número está en la zona normalizada o desnormalizada
Pregunta clave: ¿|V(x)| > (1-2-23)×2-126 ?
Cálculo del límite:
(1-2-23)×2-126 ≈ 1.1754943508 × 10-38
Si |V(x)| > 1.1754943508 × 10-38 → Zona NORMALIZADA Si |V(x)| ≤ 1.1754943508 × 10-38 → Zona DESNORMALIZADA
Ejemplo: Para V(x) = -0.00390625
|V(x)| = 0.00390625 = 3.90625 × 10-3
Como 3.90625 × 10-3 > 1.175 × 10-38NORMALIZADO
2
Aplicar la fórmula según la zona
Si es NORMALIZADO:
V(x) = (-1)s × 1,M × 2E-127
Si es DESNORMALIZADO:
V(x) = (-1)s × 0,M × 2-126
Para números normalizados, necesitamos encontrar:
s (signo): 0 si positivo, 1 si negativo
M (mantisa): parte fraccionaria después del 1 implícito
E (exponente): valor del exponente en exceso a 127
3
Expresar el número en la forma x × 2y
Necesitamos expresar |V(x)| = x × 2y donde:
• 1 ≤ x < 2 (para normalizados)
• y ∈ ℤ (entero)
Método: Dividir el problema en dos partes
1. Encontrar y (el exponente)
2. Encontrar x (la mantisa con bit implícito)
Ejemplo con V(x) = -0.00390625:
Trabajamos con |V(x)| = 0.00390625
Necesitamos: 0.00390625 = x × 2y donde 1 ≤ x < 2
4
Calcular el exponente y usando logaritmos
Paso 4.1: Suponer inicialmente que x = 1,0
Entonces: |V(x)| = 1,0 × 2y
Por lo tanto: 2y = |V(x)|
Aplicar logaritmo en base 2: y × log(2) = log(|V(x)|) y = log(|V(x)|) / log(2)
Ejemplo con V(x) = -0.00390625:
2y = 0.00390625
y = log(0.00390625) / log(2)
y = -2.408239965 / 0.301029996
y = -8
Importante: Si y no es entero, redondear al entero más cercano y ajustar x después.
5
Calcular el exponente E en exceso a 127
De la fórmula: V(x) = (-1)s × 1,M × 2E-127
Sabemos que: E - 127 = y
E = y + 127
Ejemplo:
y = -8
E = -8 + 127 = 119
Convertir E a binario:
11910 = 011101112
6
Calcular la mantisa M
Paso 6.1: Calcular x = |V(x)| / 2y
Ejemplo:
x = 0.00390625 / 2-8
x = 0.00390625 / 0.00390625
x = 1.0
Paso 6.2: Extraer la parte fraccionaria
Como x = 1,M y x = 1.0
Entonces M = 0.0
M (binario) = 00000000000000000000000
7
Determinar el signo S
Si V(x) < 0 → S = 1
Si V(x) ≥ 0 → S = 0
Ejemplo:
V(x) = -0.00390625 < 0
Por lo tanto: S = 1
8
Ensamblar la representación completa
Representación IEEE 754 = S | E | M
Ejemplo completo:
S = 1
E = 01110111
M = 00000000000000000000000

Resultado: 1 01110111 00000000000000000000000
En hexadecimal:
101110111000000000000000000000002 = 0xBB80000016
9
Verificación
Verificar el resultado:
V(x) = (-1)1 × 1,0 × 2119-127
V(x) = -1 × 1,0 × 2-8
V(x) = -0.00390625 ✓
¡Correcto! El resultado coincide con el valor original.

📚 Teoría del Estándar IEEE P754

Introducción:
El estándar IEEE 754 se encuentra presente en cada computador aparecido a partir de mediados de los 80. Este estándar incluye tanto las representaciones de los operandos como la forma de realizar las operaciones; especifica el formato de los números, las operaciones básicas, las conversiones y las condiciones excepcionales.

Características del Estándar

1. Exponente con representación en exceso 2q-1-1:
• Simple precisión: exceso 28-1-1 = 27-1 = 127
• Doble precisión: exceso 211-1-1 = 210-1 = 1023
2. Base del exponente: r = 2
3. Mantisa: Representación signo-magnitud
4. Mantisa fraccionaria normalizada con bit implícito
(excepto en la forma desnormalizada). El bit implícito constituye la parte entera de la mantisa.

Fórmulas de Valor

Simple Precisión (Normalizada): V(X) = (-1)S × 1,M × 2E-127 Doble Precisión (Normalizada): V(X) = (-1)S × 1,M × 2E-1023

Rangos y Resolución

Representaciones Desnormalizadas (DN)

Rango Simple Precisión:

Punto (1): 2-149

Punto (2): (1-2-23)×2-126

Resolución:

ResDN = 2-149

Error Absoluto:

EABS-DN ≤ 2-150

Error Relativo:

EREL-DN ≤ 2-1

Representaciones Normalizadas (N)

Rango Simple Precisión:

Punto (3): 2-126

Punto (4): (2-2-23)×2127

Resolución:

ResN ≤ 2104

Error Absoluto:

EABS-N ≤ 2103

Error Relativo:

EREL-N ≤ 2-24

Nota Importante: La diferencia {punto (3) – punto (2)} coincide con la resolución en la zona de representaciones desnormalizadas (2-149), lo que hace que la diferencia existente entre una representación y la siguiente en el rango comprendido [0, 2-126] sea siempre la misma, 2-149.

⚖️ Comparación de Números en IEEE 754

Introducción:
La comparación de números en formato IEEE 754 se realiza en tres pasos secuenciales. Si en algún paso se determina cuál es mayor, se termina la comparación.
1
Comparación de los signos
Se comparan los signos del formato y, si son distintos, el positivo es el mayor y se termina la comparación.
Si las dos representaciones presentan el mismo signo, hay que seguir comparando los exponents de los números.
2
Comparación de los exponentes
Como el exponente en un formato de coma flotante normally se representa en exceso, la ordenación es la misma que en binario natural.
La comparación consiste en comparar los bits de la misma posición de ambos exponentes, en orden de izquierda a derecha de las representaciones; cuando se encuentre la primera diferencia, un bit cero en un exponente y un bit uno en el otro, el exponente de bit uno es el mayor.
El número en formato de coma flotante con ese exponente mayor, es el mayor si ambos eran positivos, y es el menor si ambos eran negativos, y se termina la comparación.
Si los dos exponentes son iguales, hay que seguir la comparación.
3
Comparación de las mantisas
La representación de la mantisa más empleada es la representación signo-magnitud. Con esta representación es muy fácil realizar la comparación de las magnitudes de las mantisas ya que la ordenación de éstas coinciden con la del binario natural.
Se van comparando los bits de la misma posición de ambas magnitudes de la mantisa en orden de izquierda a derecha, en el primer bit que se diferencien, la magnitud con un uno es mayor que la que tiene el cero.
El número en formato de coma flotante con esa magnitud mayor, es el mayor si ambos eran positivos, y es el menor si ambos eran negativos.
Si las dos magnitudes son iguales, se concluye que ambos números en formato de coma flotante comparados son iguales.
Resumen: Si se define el formato con el orden: signo-exponente-magnitud, para la mantisa como signo-magnitud y para el exponente en exceso, la comparación se hace de izquierda a derecha hasta encontrar los primeros bits de la misma posición distintos, con los que se terminaría la comparación.

Ejemplo Práctico de Comparación

Comparar: A = 12.5 y B = -0.125
1
Paso 1: Comparar signos
A: S = 0 (positivo)
B: S = 1 (negativo)
Los signos son distintos. El número positivo (A) es mayor que el negativo (B).
Resultado: A > B