====== 75.03 - Organización del Computador - Resumen de Formatos Numéricos de Almacenamiento ======
Esta guía no pretende explicar los formatos, sino ser una guía de referencia. Se dan por sabidos los conceptos involucrados.
Siéntanse libre de modificarla para cubrir esos aspectos.
- BPF: Binario de Punto Fijo sin signo (de n bits)
* **Tipo de datos:** Números enteros positivos
* **Rango:** 0 \cdots 2^n - 1
* **Capacidad:** 8,16,32,64,\cdots,2^n bits.
* **Base de representación:** 2
* **Almacenamiento:** Se pasa el dato a base 2.
* **Interpretación:** Se para la configuración a la base pedida.
- Packed Decimal: Empaquetado (de n bits)
* **Tipo de datos:** Números enteros
* **Rango:** -(10^{2n-1}-1) \cdots 10^{2n-1} - 1
* **Capacidad:** 1, \cdots, 16 bytes.
* **Base de representación:** 16
* **Almacenamiento:** En el nibble de la derecha se indica el signo (C,A,F,E para positivo, B,D para negativo). En el resto se ingresa el dato en base 10.
* **Interpretación:** El nibble de la derecha representa el signo, el resto, el dato en base 10.
- BPFs: Binario de Punto Fijo con Signo (de n bits)
* **Tipo de datos:** Números enteros
* **Rango:** -2^{n-1} \cdots 2^{n-1} - 1
* **Capacidad:** 8,16,32,64,\cdots,2^n bits.
* **Base de representación:** 2
* **Almacenamiento:**
* Se pasa el valor absoluto del dato a base dos (se extiende hasta completar)
* Si el número es negativo se complementa (not(x)+1)
* **Interpretación:**
* Si el número es negativo (bit de la izquierda es 1) se complementa.
* Se eliminan los 0 a la izquierda y se pasa a la base deseada.
* Nota: Si al sumar dos números, los últimos pasados son distintos, hubo overflow.
- Zoneado (de n bits)
* **Tipo de datos:** Números enteros
* **Rango:** -10^n + 1 \cdots 10^n - 1
* **Capacidad:** 1, \cdots, 16 bits.
* **Base de representación:** 16
* **Almacenamiento:**
* Se pasa el valor absoluto del dato a 10
* Se completan los bytes en formato EBCDIC
* El último byte indica el signo (CAFE, BD)
* **Interpretación:**
* Cada nibble derecho representa un dígito en base 10, el último representa el signo.
- Binario de punto flotante (de precisión Simple: 32 bits, Doble: 64 bits, Extendida: 128 bits)
* **Tipo de datos:** Enteros con coma decimal.
* **Rango:** -0.FFFFFF \cdot 10^{3F} \cdots -0.1 \cdot 10^{-40} \cup 0.1 \cdot 10^{-40} \cdots 0.FFFFFF \cdot 10^{3F}
* **Base de representación:** 16
* **Almacenamiento:**
* Se pasa el dato a base 16, se normaliza a la forma 0.M \cdot 10^e
* La M ocupa los últimos bytes.
* e + o ocupa el primer byte, y se cambia el primer byte si el número es negativo
* o = \frac{max}{2}. Donde max es el máximo número almacenable en los bytes que no son para la mantisa.