SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION CHIQUINQUIRA (BOYACA) 2015 1 CONTENIDO Pág. QUE ES UN SISTEMA BINARIO. ………………………………………………………3 CORTA HISTORIA DE LOS NUMEROS BINARIOS………………………………….3 REPRESENTACION. …………………………………………………………………….4 OPERACIONES CON NUMEROS BINARIOS………………………………………...4 SUMA CON NUMEROS BINARIOS………………………………………………..4 RESTA CON NUMEROS BINARIOS………………………………………………5 PRODUCTO CON NUMEROS BINARIOS………………………………………..5 DIVISION CON NUMEROS BINARIOS……………………………………………6 SISTEMA HEXADECIMAL...……………………………………………………………..7 SISTEMA OCTAL……………………………………………………………………….…8 CONVERSION ENTRE SISTEMAS BINARIOS…………………………….………....9 CONVERSION BINARIO A OCTAL.………………………………………………..9 CONVERSION OCTAL A BINARIO…………………………………………………9 CONVERSION BINARIO A HEXADECIMAL………………………………………10 CONVERSION HEXADECIMAL A BINARIO………………………………………10 CONVERSION OCTAL A HEXADECIMAL Y VICEVERSA………………………11 TABLA DE CONVERSION………………………………………………………………..12 2 QUE ES UN SISTEMA BINARIO El sistema binario, en matemáticas e informática, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras, pues trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración natural es el sistema binario (encendido 1, apagado 0).1 CORTA HISTORIA DE LOS NUMEROS BINARIOS El antiguo matemático indio Pingala presentó la primera descripción que se conoce de un sistema de numeración binario en el siglo tercero antes de nuestra era, lo cual coincidió con su descubrimiento del concepto del número cero. En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían reducirse a secuencias de dígitos binarios, las cuales podrían ser codificadas como variaciones apenas visibles en la fuente de cualquier texto arbitrario. El sistema binario moderno fue documentado en su totalidad por Leibniz, en el siglo XVII, en su artículo "Explication de l'Arithmétique Binaire". En él se mencionan los símbolos binarios usados por matemáticos chinos. Leibniz utilizó el 0 y el 1, al igual que el sistema de numeración binario actual. En 1854, el matemático británico George Boole publicó un artículo que marcó un antes y un después, detallando un sistema de lógica que terminaría denominándose Álgebra de Boole. Dicho sistema desempeñaría un papel fundamental en el desarrollo del sistema binario actual, particularmente en el desarrollo de circuitos electrónicos.2 1 https://tiposdecomputadora.wordpress.com/2010/11/30/almacenamiento-de-datos-bit-byte-megabyte-ymucho-mas-curso-gratis/ 2 http://es.wikipedia.org/wiki/Sistema_binario 3 REPRESENTACION Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que suelen representar cualquier mecanismo capaz de usar dos estados mutuamente excluyentes. Las siguientes secuencias de símbolos podrían ser interpretadas como el mismo valor numérico binario: 1010011011 ¦ − ¦ −− ¦ ¦ − ¦ ¦ xoxooxxoxx ynynnyynyy El valor numérico representado en cada caso depende del valor asignado a cada símbolo. En una computadora, los valores numéricos pueden representar dos voltajes diferentes; también pueden indicar polaridades magnéticas sobre un disco magnético. Un "positivo", "sí", o "sobre el estado" no es necesariamente el equivalente al valor numérico de uno; esto depende de la nomenclatura usada.3 OPERACIONES CON NUMEROS BINARIOS Suma de números Binarios Las posibles combinaciones al sumar dos bits son 0+0=0 0+1=1 1+0=1 1 + 1 = 10 100110101 + 11010101 ——————————— 1000001010 Operamos como en el sistema decimal: comenzamos a sumar desde la derecha, en nuestro ejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado y llevamos 1 (este "1" se llama arrastre). A continuación se suma el acarreo a la siguiente columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas la columnas (exactamente como en decimal). 3 http://es.wikipedia.org/wiki/Sistema_binario 4 Resta de números binarios El algoritmo de la resta en binario es el mismo que en el sistema decimal. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria, que es más sencilla. Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia. Las restas básicas 0-0, 1-0 y 1-1 son evidentes: 0-0=0 1-0=1 1-1=0 0 - 1 = no cabe o se pide prestado al proximo. La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a decir en decimal, 2 - 1 = 1. Esa unidad prestada debe devolverse, sumándola, a la posición siguiente. Veamos algunos ejemplos: 10001 -01010 —————— 01111 11011001 -10101011 ————————— 00101110 Producto de números binarios El algoritmo del producto en binario es igual que en números decimales; aunque se lleva cabo con más sencillez, ya que el 0 multiplicado por cualquier número da 0, y el 1 es el elemento neutro del producto. Por ejemplo, multipliquemos 10110 por 1001: 10110 1001 ————————— 10110 00000 00000 10110 ————————— 11000110 En sistemas electrónicos, donde se suelen utilizar números mayores, no se utiliza este método sino otro llamado algoritmo de Booth. 5 División de números binarios La división en binario es similar a la decimal, la única diferencia es que a la hora de hacer las restas, dentro de la división, estas deben ser realizadas en binario. Por ejemplo, vamos a dividir 100010010 (274) entre 1101 (13):4 100010010 |1101 —————— - 0000 010101 ——————— 10001 - 1101 ——————— 01000 - 0000 ——————— 10000 - 1101 ——————— 00111 - 0000 ——————— 01110 - 1101 ——————— 00001 4 http://centros.edu.xunta.es/iesmanuelchamosolamas/electricidade/fotos/numeracion.htm 6 SISTEMA HEXADECIMAL La base hexadecimal surgió para compactar la información binaria. Se utiliza un dígito hexadecimal para representar una cadena de 4 dígitos binarios. Teniendo en cuenta que con 4 dígitos binarios podemos representar 16 números diferentes: 0,1,10,11,100,101,110,111,1000,1001,1010, etc... ...Teniendo en cuenta esto, un dígito hexadecimal tiene que poder tomar 16 valores diferentes. Para la base 10, tenemos 10 dígitos diferentes: del 0 al 9; para la base 2, nos servimos de dos de esos dígitos que ya teníamos para la base 10: el 0 y el 1. Pero en la base 16, que tenemos 16 dígitos diferentes, no podemos valernos sólo de los dígitos de la base decimal, ya que sólo hay 10 diferentes, y necesitamos 16. La solución es utilizar letras para representar los 6 dígitos que nos faltan. Tenemos entonces que los dígitos hexadecimales son: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E y F. A equivale a 10 en base 10. B equivale a 11 en base 10. C equivale a 12 en base 10. D equivale a 13 en base 10. E equivale a 14 en base 10. F equivale a 15 en base 10. Del mismo modo que en la base 10, el último dígito es el 9; en la base 2, el último dígito es el 1; en la base 16, el último dígito será F. Si sumamos a F una unidad, obtendremos el número 10 (base hexadecimal). Este número 10h (se utiliza el sufijo 'h' para indicar que se trabaja con base hexadecimal, al igual que el sufijo 'b' indica que se está trabajando con base binaria) equivale a 16 en base 10. El factor de escala en esta base, son las potencias de 16 que afectan a un dígito dado dependiendo de su posición en la cadena numérica. De forma similar que al hablar de la base binaria, al decir potencias de 16, me estoy refiriendo a potencias de 16 (en base 10). Es decir, para obtener la traducción de ese número en base 16 a su valor en base 10, utilizamos las potencias de 16 mencionadas. Estas potencias de 16 en base 10, serían potencias de 10 en base 16. Es decir, el número 10 en base 16 equivale al número 16 en base 10. 5 5 http://www.utp.edu.co/~chami17/sn.htm 7 SISTEMA OCTAL Al igual que la base hexadecimal, se utiliza para compactar información binaria, pero en este caso, la compactación es menor, de tal manera que casi no se usa. Mientras que en la base hexadecimal con un sólo dígito se puede representar una cadena de 4 dígitos binarios, en la base octal un dígito sólo puede representar 3 dígitos binarios. 6 El sistema numérico en base 8 utiliza los dígitos 0 a 7. Los números octales pueden construirse a partir de números binarios agrupando cada tres dígitos consecutivos de estos últimos (de derecha a izquierda) y obteniendo su valor decimal El número binario para 74 (en decimal) es 1001010 (en binario), se agruparía como 1 001 010. De modo que el número decimal 74 en octal es 112. En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos.7 6 7 http://www.utp.edu.co/~chami17/sn.htm http://www.ecured.cu/index.php/Sistema_octal 8 CONVERSIONES ENTRE SISTEMAS BINARIOS Conversión de binario a octal La base de números binarios está representada por 2 y la base de números octales está representada por 8. La tercera potencia de números binarios se denomina como números octales. A fin de convertir el numero binario en sus números octales equivalentes, se dividió el número binario en grupos y cada grupo debe contener tres binarios y, a continuación, se convierte cada grupo en su número octal equivalente. El siguiente ejemplo permite comprender la conversión del binario a octal Ejemplo: Convertir el número binario (111110011001)2 octal equivalente Conversión octal a binario A fin de obtener el número binario equivalente para el número octal, se escribe el dígito octal individual en su equivalente de números binarios. El siguiente ejemplo permite comprender la conversión Ejemplo: Convertir el número Octal (536)8 en su equivalente Binario8 8 http://es.ncalculators.com/digital-computation/binary-octal-converter.htm 9 Conversión de binario a hexadecimal Para realizar la conversión de binario a hexadecimal, realice lo siguiente: 1) Agrupe la cantidad binaria en grupos de 4 en 4 iniciando por el lado derecho. Si al terminar de agrupar no completa 4 dígitos, entonces agregue ceros a la izquierda. 2) La cantidad correspondiente en hexadecimal se agrupa de derecha a izquierda.9 Ejemplos 110111010 (binario) = 1BA (hexadecimal). 1010 = A 1011 = B 1 entonces agregue 0001 = 1 Agrupe de derecha a izquierda: 1BA Conversión de hexadecimal a binario La conversión de un hexadecimal a binario es la acción de la codificación de cada valor hexadecimal a su representación binaria. Un valor hexadecimal está constituido por un número de 0 a 9 o una letra A - F. 10 Cada dígito hexadecimal se convierte en su binario equivalente de 4 bits y se juntan en el mismo orden. 9 http://es.wikipedia.org/wiki/Sistema_binario#Sistema_binario_a_octal http://representacioninformacion.wikispaces.com/Conversi%C3%B3n+de+Hexadecimal+a+Binario 10 10 Conversión de Octal a Hexadecimal y viceversa La conversión de un numero en base 8 se pude realizar pasando el número a sistema binario (base 2), convirtiendo cada digito octal en su equivalente binario y este binario convertirlo a hexadecimal formando grupos de 4 dígitos binarios de derecha a izquierda completando los dígitos que falten con ceros, cada grupo se convierte en su equivalente hexadecimal. Para realizar el proceso contrario, es decir, convertir de hexadecimal a octal, primero se convierte el numero en base 16 a binario, pasando cada digito a su equivalente en binario y este a su vez se divide en grupos de 3 dígitos binarios de derecha a izquierda completando con ceros si es necesario y cada grupo se representa en dígitos octales. Por ejemplo, 2047(octal) y lo separamos por cifras. 2047 (octal) 2.- Ahora debemos saber que cada número octal puede ser expresado en máximo 3 números binarios, 2=010 0=000 4=100 7 = 111 3.- Escribimos los números de izquierda a derecha o en este caso, de arriba abajo: 010000100111, y así tenemos nuestro número binario 010000100111 (binario) 4.- Ahora este número binario lo dividimos en grupos de 4 de derecha a izquierda y cada grupo lo expresamos como su equivalente hexadecimal: 0100 0010 0111 4 2 7 = 427 corresponde al número en hexadecimal 11 TABLA DE CONVERSION ENTRE SISTEMAS NUMERICOS 11 . 11 https://cienciasdlcomp.files.wordpress.com/2012/08/numerosc.jpg 12 13