SISTEMAS NUMÉRICOS (SISTEMAS DE NUMERACIÓN) INTRODUCCIÓN Desde hace mucho tiempo, el hombre en su vida diaria se expresa, comunica, almacena información, la manipula, etc. mediante letras y números. Para la representación numérica utiliza el sistema de representación decimal, en tanto que, dependiendo del idioma, dispone de un alfabeto que representa estas letras. Siguiendo el mismo principio que guía al hombre, las computadoras tienen su propio sistema de representación. Debido a su construcción basada fundamentalmente en circuitos electrónicos digitales, utiliza un sistema binario. Esto obliga a transformar la representación de nuestra información, tanto numérica como alfanumérica, a una representación binaria para que la máquina sea capaz de procesarlos. Como veremos más adelante, tanto el sistema decimal como el binario están basados en los mismos principios. En ambos, la representación de un número se efectúa por medio de cadenas de símbolos, los cuales representan una determinada cantidad dependiendo de cada símbolo y la posición que ocupa dentro de la cadena con respecto al denominado punto (o coma) decimal. Por cuestiones de índole técnica, los circuitos electrónicos que conforman una computadora suelen estar capacitados para reconocer señales eléctricas de tipo digital; por lo tanto, se hace necesario que los métodos de codificación internos tengan su origen en el sistema binario, y con ellos se pueda representar todo tipo de informaciones y órdenes que sean manejadas por la computadora. En los circuitos electrónicos suele representarse la presencia de tensión (electricidad) en un punto de un circuito por medio de un 1, en tanto que 0 representa la ausencia de dicha tensión. EL SISTEMA DECIMAL. Desde hace muchos años, el hombre ha utilizado como sistema para contar el denominado decimal, que derivó del sistema numérico indoarábigo; posiblemente se adopté este mismo por contar con diez dedos en las manos. El sistema decimal es uno de los denominados sistemas posicionales, utilizando un conjunto de símbolos cuyo significado depende fundamentalmente de su posición relativa al símbolo coma (.), denominado coma decimal, que en caso de ausencia se supone colocada implícitamente a la derecha. Utiliza como base el 10, que corresponde al número de símbolos que comprende para la representación de cantidades; estos símbolos (también denominados dígitos) son: 0 1 2 3 4 5 6 7 8 9 Una determinada cantidad, que denominaremos número decimal, se puede expresar de la siguiente forma, Donde: base i d n dígito = = = = = 10 posición respecto a la coma, número de dígitos a la derecha de la coma, número de dígitos a la izquierda de la coma -1, cada uno de los que componen el número. Esta fórmula corresponde al Teorema Fundamental de la Numeración y, por tanto, corresponde a la representación: ....+X4*104+X3*103+X2*102+X1*101 +X0*100+ +X-1*10-1 +X-2*10-2... Por ejemplo, la representación de las cantidades 1992 y 3,1416 es: 1992 = 1 * 103 + 9*102 + 9*101 + 2* 100 3.1416 = 3 * 100 + 1 * 10—1 + 4* 10—2 + 1 * 10-3 + 6* 10-4 1 TEOREMA FUNDAMENTAL DE LA NUMERACION (TFN) Se trata de un teorema que relaciona una cantidad expresada en cualquier sistema de numeración con la misma cantidad expresada en el sistema decimal. Supongamos una cantidad expresada en un sistema cuya base es B y representamos por 1 cada uno de los dígitos que contiene dicha cantidad, donde el subíndice indica la posición del dígito con respecto a la coma decimal, posición que hacia la izquierda de la coma se numera desde 0 en adelante y de 1 en 1, y hacia la derecha se numera desde -1 y con incremento -1. El Teorema Fundamental de la Numeración dice que el valor decimal de una cantidad expresada en otro sistema de numeración, viene dado por la fórmula: ...+X4*B4 + X3*B3 + X2*B2 + X1*B1 + X0*B0 + X-1*B1 + X-2*B-2 +X-3*B3 +... EJEMPLO. Supongamos la cantidad 201.1 expresada en el sistema de numeración de base 3 que utiliza los dígitos para la representación de cantidades 0, 1 y 2. ¿Cuál será la representación de la misma cantidad en el sistema decimal? 2*32+ 0*31 + 1*30+ 1*3-1 = 18+0+1+0.333=19.333 El teorema aplicado a la inversa nos sirve para obtener la representación de una cantidad decimal en cualquier otra base, por medio de divisiones sucesivas por dicha base. EL SISTEMA BINARIO. Es el sistema de numeración que utiliza internamente el hardware de las computadoras actualmente es el binario, por ello será el sistema al que prestaremos mayor atención y estudio. Se basa en la representación de cantidades utilizando los dígitos 1 y 0. Por tanto, su base es 2 (número de dígitos del sistema). Cada dígito de un número representado en este sistema se denomina bit (contracción de binary digit). Se suelen utilizar con nombre propio determinados conjuntos de dígitos en binario: Ocho bits octeto o byte (Ejemplo: 10010110). Al conjunto de 1 024 bytes se le llama kilobyte o simplemente K. 1024 kilobytes forman el llamado megabyte. 1024 megabytes se denomina gigabyte. 1024 gigabytes se denomina terabyte. EJEMPLO. ¿Qué número decimal representa el número binario 1001.1 utilizando el TFN? 1*23 + 0*22 + 0*21 + 1*20 + 1*2-1 = 8 + 0 + 0 + 1 + 0.5 = 9.5 Suma binaria. Es semejante a la suma en el sistema decimal, con la diferencia de que se manejan sólo 2 dígitos (0 y 1), y que cuando el resultado excede de los símbolos utilizados se agrega el exceso (acarreo) a la suma parcial siguiente hacia la izquierda. Las tablas de sumar son: Tabla del 0 0 + 0 = 0 Tabla del 1 1 + 0 = 1 0+1=1 1 + 1 = 10 (0 con acarreo 1) Resta binaria. La resta binaria es similar a la decimal con la diferencia de tener sólo 2 dígitos y que al realizar las restas parciales entre 2 dígitos, uno del minuendo y otro del sustraendo, si el segundo excede al primero, se sustrae una unidad del dígito de más a la izquierda en el minuendo (si existe y vale 1), convirtiéndose este último en 0 y equivaliendo la unidad extraída a 1 * 2 en el minuendo de resta parcial que estamos realizando. Si es 0 el dígito siguiente a la izquierda, se busca en los sucesivos teniendo en cuenta que su valor se multiplica por 2 a cada desplazamiento a la derecha. Las tablas de restar son las siguientes: Tabla del 0 Tabla del 1 0–0 =0 1- 0 =1 0 - 1 = no cabe 1 -1 =0 Multiplicación binaria. Se realiza de forma similar a la multiplicación decimal, salvo que la suma final de los productos parciales se hace en binario. Las tablas de multiplicar son: Tabla del 0 Tabla del 1 0*0=0 1*0=0 0*1=0 1*1=1 2 EL SISTEMA OCTAL. Es un sistema de numeración cuya base es 8, es decir, utiliza 8 símbolos para la representación de cantidades. Estos símbolos son: 0 1 2 3 4 5 6 7 Este sistema también es de los llamados posicionales y la posición de sus cifras se mide con relación a la coma decimal que en caso de no aparecer se supone implícitamente a la derecha del número. La aritmética en este sistema es similar a la de los sistemas decimal y binario, por lo que no entramos en su estudio. EJEMPLO. ¿Qué número decimal representa el número octal 4701 utilizando el TFN? 4 * 83 + 7 * 82 + 0*81 + 1*80 = 2048 + 448 + 0 + 1 = 2497 EL SISTEMA HEXADECIMAL. Es un sistema posicional de numeración en el que su base es 16, por tanto, utilizará 16 símbolos para la representación de cantidades. Estos símbolos son: 0 1 2 3 4 5 6 7 8 9 A B C D E F Se le asignan los siguientes valores absolutos a los símbolos A, B, C, D, E y F: Símbolo A B C Valor absoluto 10 11 12 Símbolo D E F Valor absoluto 13 14 15 Su aritmética es similar a los anteriores. EJEMPLO. ¿Qué número decimal representa el número hexadecimal 2CA utilizando el TFN? 2*162 + C*161 + A*160 = 2*162 + 12*161 + 10*160 = 512 + 192 + 10 = 714 3 CONVERSIONES ENTRE SISTEMAS DE NUMERACIÓN Conversión decimal-binario. Para convertir números enteros de decimal a binario, la forma más simple es dividir sucesivamente el número decimal y los cocientes que se van obteniendo por 2, hasta que el cociente en una de las divisiones sea menor que la base. La unión de todos los restos obtenidos escritos en orden inverso nos proporciona el número inicial expresado en el sistema binario. EJEMPLOS. Convertir el número decimal 10 a binario. 10(10) = 1010(2) 10 2 0 5 2 1 2 2 0 1 Conversión de una fracción decimal a binario. La forma más simple consiste en multiplicar dicha fracción por 2, obteniendo en la parte entera del resultado el primero de los dígitos binarios de la fracción binada que buscamos. A continuación repetimos el mismo proceso con la parte fraccionaria del resultado anterior, obteniendo en la parte entera del nuevo resultado el segundo de los dígitos buscados. Iteraremos sucesivamente de esta forma, hasta que desaparezca la parte fraccionaria o hasta que tengamos los suficientes dígitos binarios que nos permitan no sobrepasar un determinado error. EJEMPLOS: Convertir la fracción decimal 0.828125 en 0.828125 0.65625 0.3125 0.625 0.25 0.5 fracción binaria. * 2 = 1.65625 * 2 = 1.3125 * 2 = 0.625 * 2 = 1.25 * 2 = 0.5 * 2 = 1 0.828125(10) = 0.110101(2) Convertir la fracción decimal 0.333 en fracción binaria. 0.333 * 2 0.666 * 2 0.332 * 2 0.664 * 2 0.328 * 2 0.656 * 2 0.312 * 2 0.624 * 2 0.248 * 2 0.496 * 2 0.992 * 2 0.984 * 2 = = = = = = = = = = = = 0.666 1.332 0.664 1.328 0.656 1.312 0.624 1.248 0.496 0.992 1.984 1.968 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) 0.333(10) = 0.010101010011(2) con error inferior a 2-12 EJEMPLO. Conversión de un número decimal con parte entera y fraccionaria aplicando los dos métodos anteriores. Convertir a binario el número decimal: 350.765625. Tomamos por separado la parte entera y la parte fraccionaria pasándolas a binario y al final las unimos para configurar el resultado buscado: Parte entera: Parte fraccionaria: 350 2 0 175 2 1 87 2 1 43 2 1 21 2 1 10 2 0 5 2 1 2 0 0.765625 0.53125 0.0625 0.125 0.25 0.5 2 1 * * * * * * 2 2 2 2 2 2 = = = = = = 1.53125 1.0625 0.125 0.25 0.5 1 0.765625(10) = 110001(2) 350(10) = 101011110(2) Por consiguiente, el número decimal 350.765625 es el número binario: 101011110.110001 4 Conversión binario-decimal. Método para convertir números binarios enteros a decimal. El método consiste en reescribir el número binario en posición vertical de tal forma que la parte de la derecha quede en la zona superior y la parte de la izquierda quede en la zona inferior. Se repetirá el siguiente proceso pan cada uno de los dígitos comenzando por el inferior: Se suma el dígito al producto de 2 por el resultado de la operación anterior, teniendo en cuenta que para el primer dígito, el resultado de la operación anterior es 0. El resultado será el obtenido en la última operación. EJEMPLO: Convertir en decimal el número binario 101011. Posiciones 5 Dígitos 1 Conversión 1 * 25 Resultado 32 Luego tendremos que 4 0 0 * 24 0 3 1 1 * 23 8 2 0 0 * 22 0 1 1 1 * 21 2 0 1 1 * 20 1 101011(2) = 32 + 8 + 2 + 1 = 43(10) EJEMPLO: Convertir en decimal el número binario 11111001000. Posiciones 10 9 8 7 6 5 4 3 2 1 0 Dígitos 1 1 1 1 1 0 0 1 0 0 0 Conversión 1*210 1*29 1*28 1*27 1*26 0*25 0*24 1*23 0*22 0*21 0*20 Resultado 1024 512 256 128 64 0 0 8 0 0 0 Por tanto, 11111001000(2) = 1024 + 512 + 256 + 128 + 64 + 8 = 1992(10) EJEMPLO. Convertir a decimal el número binario 11.001001. Posiciones 1 0 Dígitos 1 1 . 1 Conversión 1*2 1*20 Resultado 2 1 -1 0 0*2-1 0 -2 0 0*2-2 0 -3 1 1*2-3 0.125 -4 0 0*2-4 0 -5 0 0*2-5 0 -6 1 1*2-6 0.015625 Por tanto 11.001001 = 2 + 1 + 0.125 + 0.015625 = 3.140625 El error cometido en la conversión del número 3.1416 es menor que 0.001. Veamos: 3.1416 — 3.140625 = 0.000975 EJEMPLO. Convertir a decimal el número binario 111.111. Posiciones Dígitos Conversión Resultado 2 1 1 * 22 4 1 1 1 * 21 2 0 1 1 * 20 1 -1 . 1 1 * 2-1 0.5 -2 1 1 * 2-2 0.25 -3 1 1 * 2-3 0.125 Por tanto, 111.111 = 4 + 2 + 1 + 0.5 + 0.25 + 0.125 = 7.875 Este método es aplicación directa del Teorema Fundamental de la Numeración. 5 Conversión decimal-octal. Método de las divisiones sucesivas por 8. Se utiliza para convertir números decimales enteros a octal y consiste en dividir el número y sus sucesivos cocientes obtenidos por 8 hasta llegar a una división cuyo cociente sea menor que la base. El número octal buscado es el compuesto por todos los restos obtenidos escritos en orden inverso a su obtención. EJEMPLO. Convertir el número decimal 500 a octal. EJEMPLO. Convertir el número decimal 1992 a octal. 500 8 4 62 8 6 7 1992 8 0 249 8 1 31 8 7 3 500(10) = 764(8) 1992(10) = 3710(8) Multiplicaciones sucesivas por 8. Se utiliza para pasar a octal una fracción decimal. Se toma la fracción decimal y se multiplica por 8, obteniendo en la parte entera del resultado el primer dígito de la fracción octal resultante y se repite el proceso con la parte decimal del resultado para obtener el segundo dígito y sucesivos. El proceso termina cuando desaparece la parte fraccionaria del resultado o dicha parte fraccionaria es inferior al error máximo que deseamos obtener. EJEMPLO. Convertir en fracción octal la fracción decimal 0.140625. 0.140625 0.125 * * 8 8 = = 1.125 1.0 0.140625(10) = 0.11(8) Combinando los dos métodos se pueden pasar números decimales con parte entera y decimal a su equivalente octal. Conversión octal-decimal. Existen varios métodos, siendo el más generalizado el indicado por el TFN que hace la conversión en forma directa por medio de la fórmula. EJEMPLO. Pasar el número octal 764 a decimal. 764(8) = 7 * 82 + 6 * 81 + 4*80 = 448 + 48 + 4 = 500(10) 6 Conversión decimal-hexadecimal. Método de las divisiones sucesivas por 16. Sirve para convertir números decimales enteros a hexadecimal. Se divide el número decimal y los cocientes sucesivos por 16 hasta obtener un cociente menor que la base. El número hexadecimal buscado será el compuesto por todos los restos obtenidos en orden inverso a su obtención. EJEMPLO. Pasar el número decimal 1000 a hexadecimal. 1000 16 8 62 16 14 3 1000(10) = 3E8(16) Método de las multiplicaciones sucesivas por 16. Convierte números decimales con parte decimal a fracción hexadecimal. La fracción decimal se multiplica por 16, obteniendo en la parte entera del resultado el primer dígito de La fracción hexadecimal buscada y se repite el proceso con la parte fraccionaria de este resultado. El proceso se acaba cuando la parte fraccionaria desaparece o hemos obtenido un número de dígitos que nos permita no sobrepasar el máximo error que deseemos obtener. EJEMPLO. Pasar a hexadecimal la fracción decimal 0.06640625. 0.06640625 * 16 0.0625 * 16 = = 1.0625 1.0 0.06640625(10) = 0.11(16) Combinando los dos métodos anteriores podemos convertir números decimales con parte entera y fraccionaria a hexadecimal. Conversión hexadecimal – decimal. Existen varios métodos, siendo el más utilizado el que nos ofrece el TFN que nos da el resultado por aplicación directa de la fórmula. EJEMPLO. Convertir el número hexadecimal 3E8 en decimal. 3E8(16) = 3*162 + E*161 + 8*160 = 3*162 + 14*161 + 8*160 = 768 + 224 + 8 = 1000 (10) 7 Conversión hexadecimal-binario. Para convertir un número hexadecimal a binario, se sustituye cada dígito hexadecimal por su representación binaria con cuatro dígitos según la tabla. HX 0 1 2 3 BIN 0000 0001 0010 0011 HX 4 5 6 7 BIN 0100 0101 0110 0111 HX 8 9 A B BIN 1000 1001 1010 1011 HX C D E F BIN 1100 1101 1110 1111 EJEMPLO. Pasar el número hexadecimal 2BC a Pasar a binario el numero hexadecimal 7BA3.BC binario. 2 0010 Luego B 1011 C 1100 7 0111 2BC(16) = 1010111100(2) Luego B 1011 A 1010 3 0011 B 1011 C 1100 7BA3.BC(16) = 111101110100011.101111(2) Conversión binario-hexadecimal. Para convertir números de binario a hexadecimal, se realiza el proceso inverso al anterior. Se agrupan los dígitos binarios de 4 en 4 a partir del punto decimal hacia la izquierda y hacia la derecha, sustituyendo cada cuarteto por su correspondiente dígito hexadecimal. Convertir el hexadecimal. 0001 1 Por tanto, número 0010 2 binario 100101100 1100 C 100101100(2) = 12C(16) a Convertir 1100101001000.1011011 a hexadecimal: 0001 1 Luego 1001 9 0100 4 1000 8 • 1011 6 0110 6 1100101001000.1011011(2)=1948.B6(16) 8 Conversión octal-binario. Para convertir un número octal en binario se sustituye cada dígito octal por sus correspondientes tres dígitos binarios según la tabla. Octal binarios 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 Convertir el número octal 1274 en binario. 1 001 Luego 2 010 7 111 4 100 1274(8) = 1010111100(2) Convertir 75643.57 de octal a binario. 7 111 5 101 Por tanto, 6 110 4 100 3 011 . . 5 101 7 111 75643.57(8) =111101110100011.101111(2) Conversión binario-octal. Para convenir un número binario a octal se realiza un proceso inverso al anterior. Se agrupan los dígitos binarios de 3 en 3 a partir del punto decimal hacia la izquierda y hacia la derecha, sustituyendo cada trío de dígitos binarios por su equivalente dígito octal. Convertir el número binario 1010111100 en octal. 001 1 Luego, 010 2 111 7 100 4 1010111100(2) = 1274(8) Convertir 1100101001000.1011011 en octal. 001 1 Luego, 100 4 101 5 001 1 000 0 . . 101 5 101 5 100 4 1100101001000.1011011(2) =14510.554(8) 9 Conversión octal-hexadecimal. Esta conversión realiza un paso intermedio utilizando el sistema binario. Primero se convierte el número octal en binario y éste se pasa a hexadecimal. Convertir el número octal 144 en hexadecimal. Paso 1: Convertirlo a binario. 1 001 4 100 Paso 2: Ahora de binario se convierte a hexadecimal. 4 100 0110 6 144(8) = 1100100(2) 0100 4 1100100(2) = 64(16) Por consiguiente, 144(8) = 64(16) Conversión hexadecimal-octal. Esta conversión, al igual que la anterior, realiza un paso intermedio utilizando el sistema binario. Se conviene el número hexadecimal en binario y éste en octal. Convertir el número hexadecimal 1F4 en octal. Paso 1: Convertirlo a binario. Paso 2: Ahora de binario se convierte a octal. 1 F 4 0001 1111 0100 111 110 100 7 6 4 1F4(16) = 111110100(2) 111110100(2) = 764(8) Por tanto, 1F4(16) = 764(8) -------------------------------------- FIN DEL DOCUMENTO 10
© Copyright 2024 ExpyDoc