Download Esp. Alexis Olvany Torres Ch
Document related concepts
Transcript
Esp. Alexis Olvany Torres Ch En el sistema de números decimales se dice que la base o raíz es 10 debido a que usa 10 dígitos, y los coeficientes se multiplican por potencias de 10. El sistema binario unicamente posee dos valores posibles que son 0 y 1, en los cuales cada coeficiente AJ se multiplica por 2J, como ejemplo tendremos el desarrollo del número binario 11010.11 el cual será representado por la siguiente manera : 1*24+1*23+0*22+1*21+0*20+1*2–1+1*2–2 16+8+0+2+0+0.5+0.25 = 26.75 Por lo tanto tenemos que un número en un sistema de base® tiene coeficientes multiplicados por potencias de ® y quedaría representado de la siguiente manera : an*rn+ an*rn+ . . . + a2*r2+ a1*r1+ a0*r0+ a-1*r-1+ . . . + a-m*r-m Tipos de Codigos - Codigos Decimales Los codigos binarios para digitos decimales requieren un minimo de cuatro bits. Se obtiene numerosos codigos diferentes al ordenar cuatro o mas bits en diez distintas combinaciones. - Codigos de Deteccion de Error La informacion binaria, se trata de señales de pulso modulado o bien, entrada o salida digital a computadora, puede transmitirse a traves de alguna forma de medio de comunicacion, como alambres u ondas de radio. Cualquier ruido externo que se introduce en un medio de comunicacion fisica cambia los valores de bits de 0 a 1 y viceversa. - Codigo Reflejado Los sistemas digitales pueden diseñarse para procesar datos solo en una forma discreta. Muchos sistemas fisicos suministran salida de informacion continua. Esta informacion puede convertirse en forma digital o discreta antes de que se aplique a un sistema digital. La informacion continua o analogica se convierte en forma digital mediante un convertidor de analogico a digital. Esp. Alexis Olvany Torres Ch - Codigos Alfanumericos Muchas de las aplicaciones de las computadoras digitales requieren la manipulacion de datos que constan no solo de numeros, sino tambien de letras. Por ejemplo, una compañia de seguros con millones de tenedores de poliza debe usar una computadora digital para procesar sus archivos. Para representar el nombre del tenedor de poliza en forma binaria, es necesario tener un codigo binario para el alfabeto. Ademas, el mismo codigo binario debe representar numeros decimales y algunos otros caracteres especiales. Un codigo alfanumerico (algunas veces abreviado alfamerico) es un codigo binario de un grupo de elementos que consta de diez digitos decimales, las 26 letras del alfabeto y cierto numero de simbolos especiales como $. El numero total de elementos en un grupo alfanumerico es mayor de 36. Por lo tanto, debe codificarse con un minimo de 6 bits (26=64, pero 25=32 no es suficiente). Codigos Numericos Digito Decimal 8421(BCD) Exceso −3 84–2−1 2421 5043210(Biquinario) 0 0000 0011 0110 01 0 1 0100 0111 01 0 0 0101 1000 10 1 1 0110 1001 10 1 0 0111 1010 10 0 1 1000 1011 10 0 0 1001 1100 11 1 1 1001000 9 1111 01 1 0 1000100 8 1110 0101 1000010 7 1101 0010 1000001 6 1100 01 1 1 0110000 5 1011 0100 0101000 4 0100 0001 0100100 3 0011 00 0 0 0100010 2 0010 0011 0100001 1 0001 0000 1010000 Esp. Alexis Olvany Torres Ch Código reflejado de cuatro bits (Código Gray) Código Reflejado Decimal 0000 0 0001 1 0010 2 0011 3 0110 4 0111 5 0101 6 0100 7 1100 8 1101 9 1111 10 1110 11 1010 12 1011 13 1001 14 1000 15 Codigos Alfanumericos Carácter Codigo interno Código ASCII Código EBCDIC Código de tarjeta 6 - bits 7 - bits 8 - bits 12 - bits A 010 001 100 0001 1100 0001 B 010 010 100 0010 1100 0010 C 010 011 100 0011 1100 0011 D 010 100 100 0100 1100 0100 E 010 101 100 0101 1100 0101 F 010 110 100 0110 1100 0110 12,1 12,2 12,3 12,4 12,5 12,6 Esp. Alexis Olvany Torres Ch G 010 111 100 0111 1100 0111 H 011 000 100 1000 1100 1000 12,7 12,8 I 011 001 100 1001 1100 1001 100 1010 1101 0001 12,9 J 100 001 11,1 K 100 010 100 1011 1101 0010 100 1100 1101 0011 11,2 L 100 011 11,3 M 100 100 100 1101 1101 0100 11,4 N 100 101 100 1110 1101 0101 O 100 110 100 1111 1101 0110 P 100 111 101 0000 1101 0111 Q 101 000 101 0001 1101 1000 R 101 001 101 0010 1101 1001 S 110 010 101 0011 1110 0001 T 110 011 101 0100 1110 0010 U 110 100 101 0101 1110 0011 V 110 101 101 0110 1110 0100 11,5 11,6 11,7 11,8 11,9 0,2 0,3 0,4 0,5 W 110 110 101 0111 1110 0101 0,6 X 110 111 101 1000 1110 0111 Y 111 000 101 1001 1110 1000 0,7 0,8 Esp. Alexis Olvany Torres Ch Z 111 001 101 1010 1110 1001 0 000 000 011 0000 1111 0000 1 000 001 011 0001 1111 0001 2 000 010 011 0010 1111 0010 3 000 011 011 0011 1111 0011 4 000 100 011 0100 1111 0100 5 000 101 011 0101 1111 0101 6 000 110 011 0110 1111 0110 7 000 111 011 0111 1111 0111 8 001 000 011 1000 1111 1000 9 001 001 011 1001 1111 1001 0,9 0 1 2 3 4 5 6 7 8 9 espacio 110 000 010 0000 0100 0000 no perforado . 011 011 010 1110 0100 1011 111 100 010 1000 0100 1101 12,8,3 ( 12,8,5 + 010 000 010 1011 0100 1110 101 011 010 0100 0101 1011 101 100 010 1010 0101 1100 12,8,6 $ 11,8,3 * 11,8,4 ) 11,8,5 011 100 010 1001 0101 1101 Esp. Alexis Olvany Torres Ch - 100 000 010 1101 0110 0000 / 110 001 010 1111 0110 0001 , 111 011 010 1100 0110 1011 11 0,1 0,8,3 = 001 011 010 1101 0111 1110 8,6 Representación Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que a su vez pueden ser representados por cualquier mecanismo capaz de estar en dos estados mutuamente exclusivos. Las secuencias siguientes de símbolos podrían ser interpretadas todas como el mismo valor binario numérico: 1 | x y 0 o n 1 | x y 0 o n 0 o n 1 | x y 1 | x y 0 o n 1 | x y 0 o n El valor numérico representado en cada caso depende del valor asignado a cada símbolo. En un ordenador, los valores numéricos pueden ser representados por dos voltajes diferentes y también se pueden usar 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 arquitectura usada. De acuerdo con la representación acostumbrada de cifras que usan números árabes, los números binarios comúnmente son escritos usando los símbolos 0 y 1. Cuando son escritos, los números binarios son a menudo subindicados, prefijados o sufijados para indicar su base, o la raíz. Las notaciones siguientes son equivalentes: 100101 binario (declaración explícita de formato) 100101b (un sufijo que indica formato binario) 100101B (un sufijo que indica formato binario) bin 100101 (un prefijo que indica formato binario) 1001012 (un subíndice que indica base 2 (binaria) notación) %100101 (un prefijo que indica formato binario) 0b100101 (un prefijo que indica formato binario, común en lenguajes de programación) Esp. Alexis Olvany Torres Ch Operaciones con números 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 acarreo o 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). 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 próximo. 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: Restamos 17 - 10 = 7 (2=345) 10001 -01010 —————— 00111 Restamos 217 - 171 = 46 (3=690) 11011001 -10101011 ————————— 00101110 Esp. Alexis Olvany Torres Ch A pesar de lo sencillo que es el procedimiento, es fácil confundirse. Tenemos interiorizado el sistema decimal y hemos aprendido a restar mecánicamente, sin detenernos a pensar en el significado del arrastre. Para simplificar las restas y reducir la posibilidad de cometer errores hay varias soluciones: Dividir los números largos en grupos. En el siguiente ejemplo, vemos cómo se divide una resta larga en tres restas cortas: 100110011101 -010101110010 ————————————— 010000101011 = 1001 -0101 ————— 0100 1001 -0111 ————— 0010 1101 -0010 ————— 1011 Utilizando el complemento a dos. La resta de dos números binarios puede obtenerse sumando al minuendo el complemento a dos del sustraendo. Veamos algunos ejemplos. Hagamos la siguiente resta, 91 - 46 = 45, en binario: 1011011 -0101110 ———————— 0101101 C2 de 46 = 1010010 1011011 +1010010 ———————— 10101101 En el resultado nos sobra un bit, que se desborda por la izquierda. Pero, como el número resultante no puede ser más largo que el minuendo, el bit sobrante se desprecia. Un último ejemplo: vamos a restar 219 - 23 = 196, directamente y utilizando el complemento a dos: 11011011 -00010111 ————————— 11000100 C2 de 23 = 11101001 11011011 +11101001 ————————— 111000100 Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto: 11000100 en binario, 196 en decimal. Utilizando el complemento a 1. La resta de dos números binarios puede obtenerse sumando al minuendo el complemento a uno del sustraendo y a su vez sumarle el bit de overflow (bit que se desborda). 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. Esp. Alexis Olvany Torres Ch 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. 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): 100010010 |1101 —————— - 0000 010101 ——————— 10001 - 1101 ——————— 01000 - 0000 ——————— 10000 - 1101 ——————— 00111 - 0000 ——————— 01110 - 1101 ——————— 00001 Conversión entre binario y decimal, binario y octal, y binario y hexadecimal Binario a decimal Para realizar la conversión de binario a decimal, realice lo siguiente: Esp. Alexis Olvany Torres Ch 1. Inicie por el lado derecho del número en binario, cada número multiplíquelo por 2 y elévelo a la potencia consecutiva (comenzando por la potencia 0). 2. Después de realizar cada una de las multiplicaciones, sume todas y el número resultante será el equivalente al sistema decimal. Ejemplos: 110101 (binario) = 53 (decimal). Proceso: 1*(2) elevado a 0*(2) elevado a 1*(2) elevado a 0*(2) elevado a 1*(2) elevado a 1*(2) elevado a La suma es: 53 10010111 (binario) = 151 (decimal). Proceso: 1*(2) elevado a 1*(2) elevado a 1*(2) elevado a 0*(2) elevado a 1*(2) elevado a 0*(2) elevado a 0*(2) elevado a 1*(2) elevado a La suma es: 151 (0)=1 (1)=0 (2)=4 (3)=0 (4)=16 (5)=32 (0)=1 (1)=2 (2)=4 (3)=0 (4)=16 (5)=0 (6)=0 (7)=128 110111 (binario) = 55 (decimal). Proceso: 1*(2) elevado a 1*(2) elevado a 1*(2) elevado a 0*(2) elevado a 1*(2) elevado a 1*(2) elevado a La suma es: 55 (0)=1 (1)=2 (2)=4 (3)=0 (4)=16 (5)=32 También se puede optar por utilizar los valores que presenta cada posición del número binario a ser transformado, comenzando de derecha a izquierda, y sumando los valores de las posiciones que tienen un 1. Por ejemplo: el número binario 1010010 corresponde en decimal al 82 se puede representar de la siguiente manera: 64 1 32 0 16 1 8 0 4 0 2 1 1 0 entonces se suma los números 2, 16 y 64: Esp. Alexis Olvany Torres Ch 2 +16 64 ---82 Decimal a binario Se divide el número decimal entre 2 cuyo resultado entero se vuelve a dividir entre 2 y así sucesivamente. Una vez llegados al 1 indivisible se cuentan el último cociente, es decir el uno final (todo número binario excepto el 0 empieza por uno), seguido de los residuos de las divisiones subsiguientes. Del más reciente hasta el primero que resultó. Este número será el binario que buscamos. A continuación se puede ver un ejemplo con el número decimal 100 pasado a binario. 100 |_2 0 50 |_2 0 25 |_2 --> 100 1 12 |_2 0 6 |_2 0 3 |_2 1 1 1100100 Otra forma de conversión consiste en un método parecido a la factorización en números primos. Es relativamente fácil dividir cualquier número entre 2. Este método consiste también en divisiones sucesivas. Dependiendo de si el número es par o impar, colocaremos un cero o un uno en la columna de la derecha. Si es impar, le restaremos uno y seguiremos dividiendo por dos, hasta llegar a 1. Después sólo nos queda tomar el último resultado de la columna izquierda (que siempre será 1) y todos los de la columna de la derecha y ordenar los dígitos de abajo a arriba. Y luego se haría un cuadro con las potencias con el resultado. Ejemplo: 100|0 50|0 25|1 12|0 6|0 3|1 1|1 --> 1, 25-1=24 y seguimos dividiendo por 2 --> 100 1100100 Existe un último método denominado de distribución. Consiste en distribuir los unos necesarios entre las potencias sucesivas de 2 de modo que su suma resulte ser el número decimal a convertir. Sea por ejemplo el número 151, para el que se necesitarán las 8 primeras potencias de 2, ya que la siguiente, 28=256, es superior al número a convertir. Se comienza poniendo un 1 en 128, por lo que aún faltarán 23, 151-128=23, para llegar al 151. Este valor se conseguirá distribuyendo unos entre las potencias cuya suma den el resultado buscado y poniendo ceros en el resto. En el ejemplo resultan ser las potencias 4, 2, 1 y 0, esto es, 16, 4, 2 y 1, respectivamente. Esp. Alexis Olvany Torres Ch Ejemplo: 20= 1|1 21= 2|1 22= 4|1 23= 8|0 24= 16|1 25= 32|0 26= 64|0 27= 128|1 128+16+4+2+1=151 10010111 Binario a octal Para realizar la conversión de binario a octal, realice lo siguiente: 1) Agrupe la cantidad binaria en grupos de 3 en 3 iniciando por el lado derecho. Si al terminar de agrupar no completa 3 dígitos, entonces agregue ceros a la izquierda. 2) Posteriormente vea el valor que corresponde de acuerdo a la tabla: Número en binario 000 001 010 011 100 101 110 111 Número en octal 0 1 2 3 4 5 6 7 3) La cantidad correspondiente en octal se agrupa de izquierda a derecha. Ejemplos: 110111 (binario) = 67 (octal). Proceso: 111 = 7 110 = 6 Agrupe de izquierda a derecha: 67 11001111 (binario) = 317 (octal). Proceso: 111 = 7 001 = 1 11 entonces agregue un cero, con lo que se obtiene 011 = 3 Agrupe de izquierda a derecha: 317 1000011 (binario) = 103 (octal). Proceso: 011 = 3 000 = 0 1 entonces agregue 001 = 1 Agrupe de izquierda a derecha: 103. Esp. Alexis Olvany Torres Ch Octal a binario [ Cada dígito octal se lo convierte en su binario equivalente de 3 bits y se juntan en el mismo orden. Ejemplo: 247 (octal) = 010100111 (binario). El 2 en binario es 10, pero en binario de 3 bits es Oc(2) = B(010); el Oc(4) = B(100) y el Oc(7) = (111), luego el número en binario será 010100111. 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) Posteriormente vea el valor que corresponde de acuerdo a la tabla: Núme ro en binari o 00 00 00 01 00 10 00 11 01 00 01 01 01 10 01 11 10 00 10 01 10 10 10 11 11 00 11 01 11 10 11 11 Númer o en hexad ecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F 3) La cantidad correspondiente en hexadecimal se agrupa de izquierda a derecha. Ejemplos: 110111010 (binario) = 1BA (hexadecimal). Proceso: 1010 = A 1011 = B 1 entonces agregue 0001 = 1 Agrupe de izquierda a derecha: 1BA 11011110101 (binario) = 6F5 (hexadecimal). Proceso: 0101 = 5 1111 = F 110 entonces agregue 0110 = 6 Agrupe de izquierda a derercha: 6F5 Esp. Alexis Olvany Torres Ch Hexadecimal a binario Ídem que para pasar de hexadecimal a binario, solo que se remplaza por el equivalente de 4 bits, como de octal a binario. Tabla de conversión entre decimal, binario, hexadecimal, octal, BCD, Exceso 3 y Gray o Reflejado Decimal Binario Hexadecimal Octal 0 0000 0 0 1 0001 1 2 0010 3 BCD Exceso 3 Gray o Reflejado 0000 0011 0000 1 0001 0100 0001 2 2 0010 0101 0011 0011 3 3 0011 0110 0010 4 0100 4 4 0100 0111 0110 5 0101 5 5 0101 1000 0111 6 0110 6 6 0110 1001 0101 7 0111 7 7 0111 1010 0100 8 1000 8 10 1000 1011 1100 9 1001 9 11 1001 1100 1101 10 1010 A 12 0001 0000 11 1011 B 13 0001 0001 Esp. Alexis Olvany Torres Ch 12 1100 C 14 0001 0010 13 1101 D 15 0001 0011 14 1110 E 16 0001 0100 15 1111 F 17 0001 0101 Nombre Abrev. Factor binario Tamaño en el SI bytes B 20 = 1 100 = 1 kilo k 210 = 1024 103 = 1000 mega M 220 = 1 048 576 106 = 1 000 000 giga G 230 = 1 073 741 824 109 = 1 000 000 000 tera T 240 = 1 099 511 627 776 1012 = 1 000 000 000 000 peta P 250 = 1 125 899 906 842 624 1015 = 1 000 000 000 000 000 exa E 260 = 1 152 921 504 606 846 976 1018 = 1 000 000 000 000 000 000 zetta Z 270 = 1 180 591 620 717 411 303 424 1021 = 1 000 000 000 000 000 000 000 Y 280 = 1024 = 1 208 925 819 614 629 174 706 176 1 000 000 000 000 000 000 000 000 yotta Esp. Alexis Olvany Torres Ch