====== 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.