LOS NÚMEROS FRACCIONARIOS La representación de números fraccionarios no puede depositarse como tal en los registros de una computadora, porque no es posible incluir un punto binario entre los bits almacenados. 𝑟𝑒𝑔𝑖𝑠𝑡𝑟𝑜𝑠 𝑑𝑒 𝑢𝑛𝑎 𝑐𝑜𝑚𝑝𝑢𝑡𝑎𝑑𝑜𝑟𝑎 𝑝𝑢𝑛𝑡𝑜 𝑓𝑖𝑗𝑜 𝑡é𝑐𝑛𝑖𝑐𝑎𝑠 𝑚á𝑠 𝑐𝑜𝑛𝑜𝑐𝑖𝑑𝑎𝑠 { 𝑝𝑢𝑛𝑡𝑜 𝑓𝑙𝑜𝑡𝑎𝑛𝑡𝑒 Punto Fijo: Supone una posición para el punto binario previamente conocida. Ejemplo: Representar en binario un número real cuya parte fraccionaria y entera es de 4 bits, es decir: xxxx.yyyy → xxxxyyyy Como el punto es conocido, entonces no hay dificultad de volverlo a ubicar en su lugar. Desventaja: Se debe tener suficiente memoria y no problemas de sobre flujo. Punto Flotante: La principal ventaja es que un rango muy grande de números reales puede ser manejado, usando un número fijo de bytes relativamente pequeño. Desventaja: Se obtienen resultados que no son exactos, en los cálculos con números de muchos dígitos en la parte entera, fraccionaria o en ambas. REPRESENTACIÓN DECIMAL DE PUNTO FLOTANTE Conocida como exponencial o notación científica, la cual consta de dos partes principales: Exponente y Mantisa. Forma General: ± ⋯ ⋯ ⋯ 𝑁𝑁𝑁. 𝑀𝑀𝑀 ⋯ ⋯ 10±𝐸 Ejemplo: Cualquier número decimal puede ser representado en punto flotante 17 = 1.7x10+1 -135.75 = -1.3575x10+2 0.000567 = 5.67x10−4 A este proceso se le conoce como normalización de la mantisa a un valor mayor o igual a 1 o menor que 10, sin considerar el signo. Normalizar : significa que se desplaza la mantisa a la izq. o derecha hasta que tome la forma _.xxxxx……. La función del exponente es indicar la magnitud general del número y la mantisa determina la precisión del número. LA REPRESENTACIÓN BINARIA Forma General: ± ⋯ ⋯ 𝑁𝑁𝑁. 𝑁𝑁𝑁 ⋯ 𝑥2±𝐸 Ejemplos: Normalizar los siguientes números de base 2 1011.01 = 1.01101x1000 =1.01101X1011 -110.1 = -1.101x100 =-1.101x1010 0.00011 = 1.1x0.0001=1.1x10-100 En los ejemplos anteriores, la mantisa ha sido normalizada a un valor mayor o igual a 1 y menor que 102, es decir, el dígito de la izquierda del punto binario, es siempre igual a 1. REPRESENTACIÓN DE LOS NÚMEROS REALES Se utilizan los siguientes formatos establecidos por la IEEE (Institute of Electricity and Electronics Engineering ) : Formato de Real Corto 31 S 30 23 22 Exponente 0 Mantisa Los bits del 0-22 se almacenan en la mantisa normalizada Bit de la izquierda es siempre 1 Este bit no es depositado con el objeto de usar los 23 bits de la mantisa para almacenar la parte fraccionaria. Los bits del 23-30: son 8 bits que ocupa el exponente con un desplazamiento de 7FH (y para el real largo 3FFH). El bit 31 es el bit más significativo del formato de real corto, que corresponde al signo de la mantisa . Formato de Real Largo 63 S 62 52 51 Exponente 0 Mantisa Ejemplo: Sea (197.625)10 convertirlo a formato de real corto. a) Inicialmente hay que convertir la parte entera y fraccionaria a binario 197 11000101b .625 0.101 El número binario es: 11000101.101 b) Normalizar el número 11000101.101 = 1.1000101101x10111 c) Sesgar el exponente: para depositar este número representado en punto flotante en el formato de real corto, es necesario desplazar el exponente sumándole el número 7FH. El exponente desplazado es 7H + 7FH = 86H ó 1000 0110b d) Almacenar número en el formato de real corto 31 0 30 23 22 0 10000110 10001011010000000000000 Nota : El objeto de almacenar el exponente desplazado, es lograr rapidez durante la comparación de dos números reales, porque en los formatos de la IEEE el exponente es tratado siempre como número positivo. El número almacenado en memoria quedaría como: 0100 0011 0100 0101 1010 0000 0000 0000 REPRESENTACIÓN DE DATOS EN LA PC. Existen diferentes formas de almacenar datos en la PC, entendiéndose por datos, números o letras 𝐴𝑆𝐶𝐼𝐼 (𝐴𝑚𝑒𝑟𝑖𝑐𝑎𝑛 𝑆𝑡𝑎𝑛𝑑𝑎𝑟𝑑 𝐶𝑜𝑑𝑒 𝑓𝑜𝑟 𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛 𝐼𝑛𝑡𝑒𝑟𝑐ℎ𝑎𝑛𝑔𝑒) 𝐵𝐶𝐷 (𝐵𝑖𝑛𝑎𝑟𝑦 𝐶𝑜𝑑𝑒 𝐷𝑒𝑐𝑖𝑚𝑎𝑙) Formas de almacenar { 𝑃𝑢𝑛𝑡𝑜 𝑓𝑙𝑜𝑡𝑎𝑛𝑡𝑒 CÓDIGO ASCII Formato de caracteres estándares ASCII 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ASCII 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 Hex Símbolo 0 1 2 3 4 5 6 7 8 9 A B C D E F NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI Hex Símbolo 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F @ A B C D E F G H I J K L M N O ASCII 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ASCII 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 Hex Símbolo ASCII Hex 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 (espacio) 21 ! 22 " 23 # 24 $ 25 % 26 & 27 ' 28 ( 29 ) 2A * 2B + 2C , 2D 2E . 2F / 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Hex Símbolo ASCII DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US Hex Símbolo 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F P Q R S T U V W X Y Z [ \ ] ^ _ 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ASCII 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F Símbolo ` a b c d e f g h i j k l m n o ASCII 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 Hex Símbolo 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 0 1 2 3 4 5 6 7 8 9 : ; < = > ? Hex Símbolo 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F p q r s t u v w x y z { | } ~ • TABLA EXTENDIDA DEL 128 AL 255 CODIGO BCD Es especialmente usado en aplicaciones que requieren intercambio de información numérica entre la PC y varios dispositivos periféricos. Como sabemos, un grupo de 4 bits pueden representar 16 valores, si de estos 16 valores ocupamos los 10 primeros y los otros 6 no los usamos Base 10 0 1 2 3 4 5 6 7 8 9 BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Ejemplo 123 BCD = 0001 0010 0011 OPERACIONES CON BCD +15 12 27 +0001 0101 0001 0010 0010 0111 Base 10 10 11 12 13 14 15 No se usan 1010 1011 1100 1101 1110 1111 Ejercicios: Realizar las siguientes operaciones en BCD +16 14 +199 −20 33 9 Los números BCD se almacenan en dos principales formas: Empaquetada (packed) No empaquetadas (Unpacked) En el formato Empaquetado los dígitos son almacenados por byte, por el dígito más significativo colocado en los 4 bits de más a la izquierda. En el formato No empaquetado un solo dígito BCD es almacenado por byte en los cuatro bits de orden bajo y los 4 bits superiores no son utilizados pero deben ponerse a cero para asegurar correctas operaciones. Ejemplo : 2314 0010 0011 0001 0100 Mem. Empaquetada Mem. No Empaquetada 0010 0011 0000 0010 0001 0100 0000 0011 0000 0010 0000 0100 Algunos códigos BCD Valor Decimal 0 1 2 3 4 Código NBCD O 8421 0000 0001 0010 0011 0100 Código Exceso-3 Código 5421 0011 0100 0101 0110 0111 0000 0001 0010 0011 0100 5 6 7 8 9 0101 0110 0111 1000 1001 1000 1001 1010 1011 1100 0101 0110 0111 1011 1100 Los códigos 8421 y 5421 son llamados así, porque estos números corresponden a los pesos de cada bit para la conversión decimal Ejemplo Código 6 9 8421 0110 1001 5421 0110 1100