Gustavo D. Modificado Oct 2012 1. Introduccin Las mquinas construidas por el hombre son fundamentalmente de dos tipos. Un tipo trata con la energa mientras que el otro trata con la informacin. Las computadoras pertenecen a la categora de mquinas que tratan con la informacin. Una computadora guarda nmeros, letras y otros caracteres en forma codificada. La informacin en una computadora es guardada usando 0s y 1s, los dos dgitos del sistema numrico binario. Este captulo presenta una visin general de los sistema numricos y su relevancia para las computadoras y la programacin. 2. La Historia de los Nmeros Para los primeros hombres, los nmeros no significaban nada ms que la diferencia entre una piedra y muchas piedras, un hombre y muchos hombres o un animal y muchos animales. Probablemente, an en esta simple percepcin, no exista el concepto abstracto de uno y muchos. Aunque difcil de imaginar, exista poca asociacin entre un nmero y la cantidad que significaba, y un smbolo para denotar la asociacin. Fue la Civilizacin Fenicia hace cerca de 3,000 aos la que introdujo el primer alfabeto primitivo para la asociacin de smbolos. Quizs, el sistema numrico ms familiar de las antiguas civilizaciones es el sistema Romano. Los smbolos I, II, III, IV, V, VI, VII, VIII, IX, y X denotan los nmeros del 1 al 10. L denota 50 y C denota 100. Otras denominaciones mayores para las que se presentaban smbolos nicos en este sistema son: (I) para mil ((I)) para diez mil (((I))) para cien mil Los Romanos no tenan smbolos para denotar denominaciones mayores que las ya mencionadas. Por ejemplo, si uno quera escribir la poblacin de la India, que es cerca de 800 millones, uno tena que escribir (((1))) 8000 veces! Los Romanos tambin hacan su conteo en la base de agrupaciones de 5, 10 y 100. Los siguientes ejemplos ilustran unas cuantas adiciones y sustracciones como presumiblemente lo hicieron los Romanos: X + X + X + X + X = L (10 + 10 + 10 + 10 + 10 = 50) L + L = C (50 + 50 = 100) VIII + II = X (8 + 2 = 10) VII - III = IV (7 - 3 = 4) X - V = V (10 - 5 = 5)
Los primeros Egipcios usaron ideogramas para representar muchos. Por ejemplo, tres olas = agua y un ojo con 3 lagrimas = llanto. Los primeros Chinos, tambin tenan el tres en ideogramas para referirse a muchos. 3. Contamos Hasta 10? El conteo fue, quizs, el primer clculo que emple el hombre. Por ejemplo, la edad de una persona se contaba basada en el nmero de inviernos que haba pasado y este nmero se contaba con la ayuda de un grupo de piedras. Despus, se hicieron muescas en palos o huesos a manera de conteo. As naci el concepto de agrupamiento. Por ejemplo, una muesca larga puede hacerse para cada conjunto de 10 muescas pequeas, as representaban un grupo de 10. Este fue probablemente el primer paso hacia la definicin de nmeros a travs de smbolos y palabras. La Gustavo D. Modificado Oct 2012 muesca larga representaba 10 y el nmero apropiado de muescas pequeas representaban los nmeros del 1 al 9. Agrupamientos de esta clase existan en la mayora de las civilizaciones. Los Romanos tenan grupos de cinco y los Egipcios tenan grupos de sesenta. Los orgenes del agrupamiento son fciles de entender. Por ejemplo, el agrupamiento Romano de cinco corresponde a los cinco dedos en una mano, el agrupamiento de sesenta a los minutos en una hora y el agrupamiento de 12 a los meses en un ao. Muchos agrupamientos en las civilizaciones antiguas se originaron en los misterios de la numerologa y la religin. Sin embargo, es bastante significativo que la mayora de los agrupamientos fuera en decenas. Este agrupamiento gan popularidad con la coincidencia biolgica de que el hombre tiene 10 dedos en las manos o pies. A travs de los tiempos, el hombre desarroll gradualmente smbolos para denotar los nmeros y agrupamientos. Fue slo la llegada del sistema numrico posicional, que se hizo progresos en la aritmtica y en consecuencia, en todos los aspectos del progreso humano. 4. El Sistema Numrico Posicional En Chino, se usan caracteres separados para indicar el dgito y el agrupamiento al escribir un nmero. Por ejemplo, el nmero 879 se escribira como 8 'cientos' 7 'decenas' y 9. En Chino, esto se vera como se muestra a continuacin: 8 H 7 T 9 Pa PAI Chi SHIH Chin Es importante notar que slo la posicin de unidades es implcita. Para entender qu es un sistema posicional, considere el nmero 879. Sabemos por examinacin visual que es ocho cientos setenta y nueve. Los dgitos 8,7 y 9 ocupan una posicin en el nmero y cada posicin tiene un peso. El 9 en el nmero 879 ocupa la posicin de unidades, as que su peso es 1. En forma similar 7 ocupa la posicin de decenas y 8 la posicin de centenas. As, 879 = 8x100 + 7x10 + 9x1 = 800 + 70 + 9 = 879 Los smbolos modernos para los dgitos del cero al nueve, y el sistema numrico posicional, fueron desarrollados primero en la India. Los rabes difundieron el uso de estos smbolos por toda Europa y el Mediterrneo. A pesar del hecho de que esta vital contribucin fue hecha por la India, estos nmeros son llamados numerales Arbigos an en la actualidad. Las primeras formas del sistema de numeracin no tenan dgito para el cero. No sera una exageracin decir que el descubrimiento del dgito cero revolucion nuestro pensamiento. Considere otro ejemplo: de acuerdo al sistema numrico posicional, el nmero 583 puede escribirse como: = 5x100 + 8x10 + 3x1 = 5x10 2 + 8x10 1 + 3x10 0
Los pesos posicionales son expresados en potencias de 10. Sabemos que el nmero 583 es quinientos ochenta y tres en el sistema decimal. El nmero 10 es la parte central del sistema decimal y es llamado la base o raz del sistema. Gustavo D. Modificado Oct 2012 En forma similar, existen muchos sistemas numricos, cada uno con una base o raz nica. El sistema numrico con la base 10 es llamado el sistema decimal, base 2 es binario, base 8 es octal y base 16 es el sistema hexadecimal. En las siguientes secciones, estudiaremos cada uno de estos sistemas numricos en detalle. 5. Acerca de los Diferentes Sistemas Numricos Nosotros los humanos encontramos fcil el trabajar con el sistema numrico decimal para clculos normales. Pero las computadoras por otro lado, usan el sistema binario que involucra a una cadena de 0s y 1s. El sistema numrico octal que fue una vez un sistema numrico popular, especialmente en la Digital Equipment Corporation PDP/8, es raramente usado hoy en da. El sistema numrico hexadecimal es an otro sistema que casi siempre es mencionado mientras hablamos de computadoras. Ambos sistemas, el octal y el hexadecimal, proporcionan en la actualidad un mtodo fcil para entender los nmeros representados usando el sistema binario. Aprenderemos ms acerca de estos cuatro sistemas numricos en esta Unidad, y veremos como los nmeros en un sistema pueden ser convertidos a otro. Como establecimos anteriormente, cada sistema numrico tiene una base o raz que lo distingue de los dems. La Tabla 3.1 nos da una visin completa de estos sistemas numricos. Sistema Numrico Base/ Raz Dgitos Ejemplo Binario 2 0 y 1 01111110 Octal 8 0 a 7 176 Decimal 10 0 a 9 126 Hexadecimal 16 0 a 15 7E Tabla 3.1: Los Sistemas Numricos El nmero hexadecimal incluye un alfabeto. Dado que slo hay 10 dgitos en el sistema numrico decimal, las letras A a E son usadas para representar los 6 dgitos restantes del hexadecimal. As, 0-9 representan 0-9 y A-F representan 10 a 15 en el sistema numrico hexadecimal. Se usa un principio bsico para convertir un nmero de un sistema numrico a otro. Mientras convertimos del decimal a cualquier otro sistema numrico, la base del sistema divide el nmero decimal. Para convertir un nmero de cualquier otro sistema numrico al sistema decimal, el mtodo del peso posicional es usado, donde la base de ese sistema numrico juegan un rol importante. Dado que el sistema numrico decimal es el ms obvio, y es fcilmente reconocible por humanos, aprendemos los otros sistemas numricos centrados alrededor del sistema decimal 6. El Sistema Numrico Decimal Todos nosotros estamos familiarizados con el sistema decimal o de base 10. Es llamado base 10 por dos razones: El peso posicional de los dgitos es expresado en potencias de 10. Existen 10 dgitos que forman el sistema numrico decimal. El sistema numrico decimal puede consistir de 10 dgitos, nombrados, 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. Un nmero decimal vlido es definido como sigue: Gustavo D. Modificado Oct 2012 Cualquier combinacin de los dgitos vlidos del sistema indican un nmero decimal positivo Cualquier combinacin de los dgitos vlidos del sistema opcionalmente con el smbolo + de prefijo indican un nmero positivo Cualquier combinacin de los dgitos vlidos del sistema opcionalmente con el smbolo - de prefijo indican un nmero negativo En consecuencia, los siguientes son todos numerales decimales bsicos: 587 quinientos ochenta y siete (positivo) +800 ms ochocientos (positivo) -800 menos ochocientos (negativo) Los siguientes son numerales decimales invlidos: 800+ El signo + debe ser prefijo --850 El signo debe ser prefijo slo una vez +-860 Tanto + e no pueden aparecer juntos 8B6 El dgito B es invlido La definicin anterior slo trata nmeros enteros. Los nmeros Reales o nmeros fraccionarios se definen a continuacin. Cualquier combinacin de los 10 dgitos vlidos del sistema decimal, opcionalmente precedidos por el smbolo + -, indican la parte entera. La inclusin del smbolo (el punto decimal) que separa la parte entera de la fraccional del nmero. Cualquier combinacin de los 10 dgitos vlidos del sistema decimal seguidos por el punto decimal (sin los smbolos + -) indican la parte fraccional del nmero. A continuacin se dan ejemplos de nmeros reales vlidos en el sistema decimal: 12.53 ms doce punto cinco tres +50.0 ms cincuenta punto cero -0.573 menos cero punto cinco siete tres Considere el nmero 12.53 en decimal. En trminos de pesos posicionales, el nmero puede ser expresado como sigue 12.53 = 1x10 1 + 2x10 0 + 5x10 -1 + 3x10 -2
= 10 + 2 + 5/10 + 3/100 Note que los dgitos que estn a la derecha del punto decimal tienen pesos de 10 -1 , 10 -2 y as sucesivamente. 7. Aritmtica Decimal Usando el Complemento a 9 y a 10 Sumar y restar nmeros decimales es simple, y en la mayora de los casos, una costumbre para nosotros. Sumar dos enteros decimales y sustraer un entero decimal del otro es igualmente simple. El principio de acarrear a un dgito de posicin mayor (en la suma) y prestar de un dgito de posicin mayor (en la sustraccin) ha sido firmemente implantado en nuestras mentes. Ahora veamos la adicin y sustraccin de enteros decimales en una forma diferente. Por ejemplo, vamos a asumir que queremos calcular (a-b), donde a y b son dos enteros positivos. (a-b) puede escribirse como a + (-b). As que para calcular (7-4), podemos escribirlo como 7 + (-4). Pero qu es -4? Existe una forma de representar -4. Para hacerlo, restamos 4 de 9. 9 - 4 = 5 Gustavo D. Modificado Oct 2012 Obtenemos 5. Esta es la forma en complemento a 9 de 4. Le sumamos un 1 para hacerlo de la forma en complemento a 10. Sumar 1 5 + 1 = 6 Sorprendente como se puede ver, ahora, 6 representa -4. Ahora intente sustraer 4 del dgito simple 9. 7 - 4 = 7 + (-4) Mtodo Normal 7 - 4 = 3 Mtodo Nuevo 7 + 6 = 13 En el nuevo mtodo anterior, 6 es la forma en complemento a diez de -4. Como estamos tratando con enteros de dgito simple, retenemos el dgito simple y descartamos el acarreo. Como el acarreo aqu es 1, despus de descartar este 1, obtenemos la respuesta 3. De esta forma, ambos mtodos producen la misma respuesta. Ahora veamos otro ejemplo: 125 - 9 = 125 + (-9) Sustraer 009 de 999 999 - 009 = 990 Por qu estamos sustrayendo 9 de estos 999? A fin de encontrar la forma en complemento a nueve de 9, consideraremos 9 como 009 dado que el otro operando en la expresin es un nmero de tres dgitos. Sumar 1 990 + 1 = 991 991 est en la forma del complemento a 10 de 9 125 + 991 = 1116 Descartando el acarreo (estamos tratando con nmeros de tres dgitos), obtenemos 116 que es equivalente a 125 9. 8. Sistema Numrico Binario El sistema binario, como establecimos antes, comprende slo dos dgitos, 0 y 1. Este sistema es usado en todas las computadoras digitales dado que necesitamos representar nmeros y caracteres en slo dos cantidades. Esto significa que necesitamos distinguir entre dos estados: encendido o apagado, presencia de voltaje o no, magnetizacin en una direccin o en la otra, etc. En esta seccin, aprenderemos cmo los nmeros y caracteres son almacenados en el sistema binario y cmo se realizan los clculos aritmticos con nmeros binarios. Un nmero binario vlido consiste de una combinacin de uno o ms dgitos binarios vlidos, 0 y 1. Los siguientes son ejemplos de nmeros binarios vlidos: 0100 1010 0100101011 No se usan smbolos extra (como el + y el en el sistema decimal) para distinguir entre nmeros binarios positivos y negativos. En una seccin posterior, aprenderemos cmo el sistema numrico binario distingue entre una cantidad positiva y negativa. 9. Bits, Bytes y Palabras (Words) Para guardar un nmero o un carcter en una memoria de computadora, tiene que ser expresado como un patrn de 0s y 1s. Los dgitos 0 y 1 son llamados bits. Una coleccin de bits hacen una unidad significativa. Usualmente, una coleccin de 8 bits forman la ms pequea unidad significativa. Esta coleccin de 8 bits es llamada un Gustavo D. Modificado Oct 2012 byte. A veces se usa un patrn de 4 bits. Este es llamado un nibble. A veces, se usan grandes nmeros de bits juntos. Estos son llamados palabras (words). Pero no existe un estndar para el tamao de una palabra. Diferentes mquinas tienen diferente tamao de palabra. Donde sea que se use una palabra, el nmero de bits usado por esa palabra tiene que ser especificado explcitamente. Ahora aprenderemos cmo las computadoras representan los enteros. El sistema numrico binario no tiene ningn smbolo especial para diferenciar entre una cantidad positiva o negativa. Aprenderemos cmo se hace esto en una computadora. 10. Representacin de Enteros en Binario Considere un patrn de bits en un byte. 7 6 5 4 3 2 1 0 0 0 1 0 0 1 0 1 Bit ms significativo Bit menos significativo Los bits estn numerados de 0 a 7 de derecha a izquierda. El bit 0 es el bit menos significativo (least significant bit LSB) y el bit 7 es el bit ms significativo (most significant bit MSB). El patrn de bits presentado es un entero decimal. Para obtener su equivalente en decimal, usamos los pesos posicionales de cada bit y los expresamos en potencias de 2. Las potencias de 2 es debido a que slo hay dos dgitos en un sistema numrico binario. 0x2 7 + 0x2 6 + 1x2 5 + 0x2 4 + 0x2 3 + 1x2 2 + 0x2 1 + 1x2 0
= 0 + 0 + 32 + 0 + 0 + 4 + 0 + 1 = 37 As, el patrn 00100101 representa 37 en decimal. Dado un nmero binario, el equivalente decimal de ese nmero binario puede ser calculado usando el mtodo de peso posicional. Esto es exactamente la misma forma en que formamos un nmero decimal. El nmero decimal 583 es actualmente: = 5x10 2 + 8x10 1 + 3x10 0 = 5x100 + 8x10 + 3x1 = 583 Cuando escribimos el nmero 1011, puede haber una confusin si es un nmero decimal o uno binario. Para evitar tal confusin, escribimos(1011) 2 para hacer referencia a un nmero binario y (1011) 10 para hacer referencia a un nmero decimal. Se lee como 1011 en base 2 y 1011 en base 10. Ahora, considere otro patrn en un byte: 0 1 0 1 1 1 0 0 Para obtener la magnitud representada por el patrn de bits dado, expandimos los bits en potencias de 2, como se muestra a continuacin: 0x2 7 + 1x2 6 + 0x2 5 + 1x2 4 + 1x2 3 + 1x2 2 + 0x2 1 + 0x2 0
= 0 + 64 + 0 + 16 + 8 + 4 + 0 + 0 = (92) 10 Intentemos otro ejemplo. Vea el patrn de bits dado a continuacin: 0 1 1 1 1 1 1 0 0x2 7 + 1x2 6 + 1x2 5 + 1x2 4 + 1x2 3 + 1x2 2 + 1x2 1 + 0x2 0 = 0 + 64 + 32 + 16 + 8 + 4 + 2 + 0 = (126) 10 Gustavo D. Modificado Oct 2012 11. El Bit de Signo Los enteros pueden ser tanto positivos o negativos. Dado que no tenemos ningn smbolo extra en el sistema binario para distinguir entre nmeros positivos y negativos, uno de los bits es usado para denotar el signo. Este es llamado el bit de signo. Usualmente el bit ms a la izquierda en una celda de la memoria (la celda puede contener 4, 8, 16 o cualquier nmero de bits) es designado como el bit de signo. 7 6 5 4 3 2 1 0 0 1 0 1 1 1 0 0 bit de signo En el caso de un byte, el bit 7 es designado como el bit de signo. Si el bit es 0, representa un nmero positivo y si es 1, representa un numero negativo. La representacin de nmeros positivos es directa. En un nmero positivo de 8 bits, 7 bits son usados para almacenar el nmero y el ltimo bit (el bit 8) es automticamente asignado con el valor 0. Existen tres formas diferentes de representar nmeros negativos: Esquema magnitud con signo Esquema complemento a Uno Esquema complemento a Dos Antes de comenzar a estudiar estos esquemas en detalle, vamos a aprender primero cmo convertir un nmero decimal en su equivalente binario. 12. Conversin de Decimal a Binario El mtodo usado para convertir un entero decimal en su equivalente binario involucra la divisin del nmero decimal entre 2, donde 2 es la raz del sistema numrico binario. Cuando la divisin es llevada a cabo, el residuo en cada etapa es preservado. La divisin es repetida hasta que el dividendo se convierte en cero. El residuo en cada etapa forma un dgito binario (bit). El primer residuo forma el bit menos significativo del nmero binario y el ltimo residuo forma el bit ms significativo del nmero binario. Ejemplo 3.1 Represente (37) 10 en un byte. Paso - 1: Encontrar el equivalente binario de (37) 10 . Primero, dividir el nmero sucesivamente entre 2, extrayendo los residuos hasta que el dividendo se convierta en cero. Esto se muestra a continuacin Divisor Dividendo Residuo 2 37 2 18 1 Bit Menos Significativo (LSB) 2 9 0 2 4 1 2 2 0 2 1 0 0 1 Bit Ms Significativo (MSB) As, (37) 10 = (100101) 2
Paso -2: Representar (37) 10 en un byte. Gustavo D. Modificado Oct 2012 0 0 1 0 0 1 0 1 Note que el bit ms a la izquierda es cero indicando un nmero positivo. Los siete bits restantes representan (37) 10 . Vamos a reconvertir el nmero binario en su equivalente decimal y verificar si (37) 10
= 32 + 4 + 1 = (37) 10 Fin de Ejemplo 3.1 Teniendo claro cmo convertir un entero decimal en su binario equivalente, vamos a discutir ahora las tres formas de representar enteros en computadoras. Estos tres esquemas son diferentes uno de los otros slo en su representacin final. Para la representacin final de un nmero decimal en nmero binario, existen dos pasos. Paso. 1: Realizar la conversin del nmero decimal en su equivalente binario sin considerar el nmero de bits requerido para la representacin final. Paso. 2: Ver los bits disponibles para representar el nmero y de acuerdo a esto, aadir el valor del signo en la representacin final. Ahora aprenderemos cmo representar nmeros en los tres esquemas, el nmero mximo y mnimo que puede ser representado y como el dgito 0 (cero) es representado en los tres esquemas. 13. El Esquema de Magnitud con Signo Cada nmero tiene dos partes, un signo y una magnitud. El esquema de magnitud con signo representa un nmero decimal en su forma binaria basndose en este principio bsico. Por ejemplo: El entero (37) 10 tiene un signo ms y una magnitud de 37. El entero (-100) 10 tiene un signo menos y una magnitud de 100. El esquema de magnitud con signo involucra dos pasos para convertir un decimal en binario. Paso 1: Convertir el nmero decimal en su equivalente binario. Paso 2: Representar el nmero binario convertido en el nmero de bits disponibles para su representacin. Si n bits estn disponibles para almacenar el nmero decimal, n-1 bits son usados para la magnitud y 1 bit (el bit ms a la izquierda) para el signo. Ejemplo 3.2 Representar -(37) 10 en binario en un byte usando la representacin de magnitud con signo. Paso 1: Convertir 37 en binario. Hemos visto del ejemplo anterior que (37) 10 = (0100101) 2 . ste slo toma 7 bits. En este paso, no nos preocupamos acerca de la representacin actual. sta es slo la conversin natural en su forma binaria. Paso 2: Representar -(37) 10 en un byte. Un byte tiene 8 bits, de los cuales 7 son separados para la magnitud y 1 para el signo. Gustavo D. Modificado Oct 2012 1 0 1 0 0 1 0 1 Note que el bit de signo es 1, indicando un entero negativo. Fin de Ejemplo 3.2 Ahora, supongamos que un byte contiene un patrn de bits que pretende representar un entero en la forma de magnitud con signo. Cmo puede ser convertido a decimal? Aprenderemos esto en los siguientes ejemplos. Ejemplo 3.3 Qu representa el siguiente byte? 0 1 1 0 1 1 0 1 Asumimos que el byte contiene un entero en la forma magnitud con signo. El bit de signo contiene un 0, indicando un nmero positivo. La magnitud es dada a continuacin. = 1x2 6 + 1x2 5 + 0x2 4 + 1x2 3 + 1x2 2 + 0x2 1 + 1x2 0
= 64 + 32 + 8 + 4 + 1 = (109) 10 As, el byte anterior representa +(109) 10 . Fin de Ejemplo 3.3 Gustavo D. Modificado Oct 2012 Ejemplo 3.4 Qu representa el siguiente byte? 1 0 1 0 1 0 1 1 Una vez ms, asumimos que el byte contiene un entero en su forma magnitud con signo. El bit de signo es un 1, indicando un nmero negativo. La magnitud es dada a continuacin: = 0x2 6 + 1x2 5 + 0x2 4 + 1x2 3 + 0x2 2 + 1x2 1 + 1x2 0
= 32 + 8 + 2 + 1 = (43) 10
As, el byte anterior representa -(43) 10 . Fin de Ejemplo 3.4 El ejemplo anterior ilustra cmo los enteros, tanto positivos como negativos, son representados en la forma magnitud con signo. Como establecimos anteriormente, en la representacin de enteros, un bit (normalmente el primer bit de la izquierda) es siempre usado como bit de signo. As, dados n bits para representar enteros, el entero mismo puede ser representados slo en n-1 bits. Ahora, vamos a representar +(300) 10 en un byte usando la forma de magnitud con signo. Paso 1: Convertir (300) 10 en binario. 2 300 2 150 0 LSB 2 75 0 2 37 1 2 18 1 2 9 0 2 4 1 2 2 0 2 1 0 2 0 1 MSB As, (300) 10 = (100101100) 2 . El nmero de bits requerido para representar (300) 10 sin el bit de signo es nueve. Pero slo siete bits en un byte estn reservados para guardar la magnitud. Por lo tanto, (300) 10 no puede ser representado en un byte. El ejemplo anterior muestra que un byte puede ser usado para representar enteros slo dentro de un cierto rango. Cul es entonces la mayor magnitud de enteros positivos y negativos que pueden ser representados en un byte usando el esquema de magnitud con signo? Las dos siguientes secciones tratan esto. 13.1 Mximo Entero Positivo Usando la forma de magnitud con signo, el nmero de bits en un byte para la magnitud es siete. Por lo tanto, el mayor nmero positivo que podemos representar es 0 1 1 1 1 1 1 1 Aqu, el bit de signo es cero mientras todos los dems bits son uno. = 1x2 6 + 1x2 5 + 1x2 4 + 1x2 3 + 1x2 2 + 1x2 1 + 1x2 0
= 64 + 32 + 16 + 8 + 4 + 2 + 1 = (127) 10
Gustavo D. Modificado Oct 2012 As, el mximo nmero positivo que puede ser representado en un byte usando el esquema de magnitud con signo es +(127) 10 , qu es 2 7 -1. En general, en una celda con n bits (con el bit ms a la izquierda usado para representar el signo), el mximo entero positivo que puede ser representado en el esquema de magnitud con signo es 2 n-1 -1. 13.2 Mnimo Entero Negativo En forma similar, el mnimo entero negativo que puede ser representado en un byte usando el esquema de magnitud con signo se muestra a continuacin. 1 1 1 1 1 1 1 1 Este es -(127) 10 . Dejando el bit de signo, todos los unos en los siete bits restantes son equivalentes a (127) 10 . Dado que el bit de signo es 1, el nmero binario representa (127) 10 Por lo tanto, en n bits por celda, usando el esquema de magnitud con signo, el mnimo entero negativos que puede ser representado es (2 n- 1 -1). 13.3 Representacin del Cero En la discusin anterior, hemos visto que el rango de enteros representados usando el esquema de magnitud con signo es: En un byte Mximo Entero Positivo = +(127) 10 = + 2 7 -1 Mnimo Entero Negativo = -(127) 10 = -(2 7 1) En n bits por celda Mximo Entero Positivo = +2 n-1 1 Mnimo Entero Negativo = -(2 n-1 -1) Podemos representar enteros en el rango [-(2 7 -1), +2 7 -1] en un byte y [-(2 n- 1 -1), +2 n-1 -1] en n bits por celda. El entero cero tambin cae en este rango. Cero puede ser representado en un byte de la siguiente manera: 0 0 0 0 0 0 0 0 El patrn anterior representa cero dado que la magnitud (0000000) 2 = (0) 10. Sin embargo, el cero tambin puede ser representado como se muestra a continuacin: 1 0 0 0 0 0 0 0 Este patrn tambin representa al cero dado que la magnitud (0000000) 2 = (0) 10 . Como el bit de signo contiene un 1, representa un cero negativo. As, dos representaciones de cero, un cero positivo y uno negativo son posibles! Matemticamente, no existen dos ceros. Debido a esta representacin no nica del cero, el esquema de magnitud con signo casi nunca es usado en computadoras. 14. El Esquema de Complemento a Uno Como se estableci anteriormente, consideraremos el bit ms a la izquierda como el bit de signo, an en este esquema. Los pasos a seguir aqu son: Paso 1: Convertir el entero positivo en el nmero dado de bits. El bit de signo puede ser 0 ahora. Paso 2: Invertir todos los bits. Convertir 0s en 1s y 1s en 0s. Ahora veremos un ejemplo de la representacin de un entero negativo en la forma de complemento a uno. Ejemplo 3.5 Representar -(52) 10 en un byte en la forma de complemento a uno. Gustavo D. Modificado Oct 2012 Paso 1: Convertir la contraparte positiva (52) 10 en binario y representarla en un byte. (52) 10 = (00110100) 2 en 8 bits Paso 2: Convertir el nmero en su forma de complemento a uno. Para hacer esto, simplemente convertimos cada bit 0 a 1 y cada bit 1 a 0. Byte original 0 0 1 1 0 1 0 0 = (52) 10
bits cambiados 1 1 0 0 1 0 1 1 El patrn (11001011) 2 es la representacin en complemento a uno de -(52) 10 . Que esto representa un nmero negativo es evidente por el bit de signo, que es 1. Fin de Ejemplo 3.5 Ejemplo 3.6 Representar -(1) 10 en un byte en la forma de complemento a uno. Paso 1: Convertir (1) 10 a binario y representarlo en un byte. (1) 10 = (00000001) 2 . Paso 2: Convertirlo en su forma de complemento a uno cambiando todos los bits. Byte Original : 0 0 0 0 0 0 0 1 Complemento a Uno : 1 1 1 1 1 1 1 0 Por lo tanto, -(1) 10 es representado como 1 1 1 1 1 1 1 0 El 1 en el signo de bit confirma que el nmero representado es un nmero negativo. Fin de Ejemplo 3.6 Ejemplo 3.7 Encontrar el equivalente decimal del siguiente entero en forma de complemento a uno: 1 1 1 1 1 1 1 0 Para hacer esto, cambiamos los bits. Byte Original : 1 1 1 1 1 1 1 0 Bits cambiados : 0 0 0 0 0 0 0 1 Ahora, considere los 7 bits enteros la magnitud del nmero y obtenga su equivalente decimal, como si el bit de signo no existiera. (00000001) 2 = (1) 10 . Dado que nuestro byte original tiene un 1 en el bit de signo, el patrn original representa a -(1) 10 . Fin de Ejemplo 3.7 Ejemplo 3.8 Averiguar qu nmero representa en decimal el siguiente entero en forma de complemento a uno. 1 0 0 0 0 1 0 0 Note que el bit de signo es 1 indicando que es un entero negativo. Para obtener la magnitud, cambiamos los bits. Byte Original : 1 0 0 0 0 1 0 0 Bits cambiados : 0 1 1 1 1 0 1 1 Gustavo D. Modificado Oct 2012 Ignorando la presencia del bit de signo, el patrn (01111011) 2 representa lo siguiente. = 0x2 7 + 1x2 6 + 1x2 5 + 1x2 4 + 1x2 3 + 0x2 2 + 1x2 1 + 1x2 0
= 0 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = (123) 10
As, el patrn 1 0 0 0 0 1 0 0 representa -(123) 10 . Fin de Ejemplo 3.8 Ahora vamos a ver cules son los enteros mximo positivo y mnimo negativo que podemos representar usando el esquema del complemento a uno. 14.1 Entero Mximo Positivo y Mnimo Negativo Como en el caso de la forma magnitud con signo, los enteros mximos y mnimos que pueden ser representados son 2 n-1 1 y (2 n-1 1). 14.2 Representacin del Cero en el esquema de complemento a uno Considere por un momento que, en la forma de complemento a uno la representacin del cero no es nica. Esto es, existe un ms cero y un menos cero. La representacin del ms cero en un byte es dada a continuacin. 0 0 0 0 0 0 0 0 El bit de signo es cero y la magnitud es cero. As, esta representacin del cero es correcta. Para representar el menos cero primero representamos el ms cero en un byte. Luego, cambiamos los bits obteniendo la forma de complemento a uno. Byte Original : 0 0 0 0 0 0 0 0 Bits Cambiados : 1 1 1 1 1 1 1 1 As, (11111111) 2 representa al cero tambin. Vamos a verificar que es as de veras. Byte Original : 1 1 1 1 1 1 1 1 Bits Cambiados : 0 0 0 0 0 0 0 0 La magnitud de (00000000) 2 = (0) 10 . As, (11111111) 2, en su forma de complemento a uno representa al menos cero. Por lo tanto, an en la forma de complemento a uno, la representacin del cero no es nica. Debido a esto, y ciertos otros factores, lo cuales estn fuera del alcance de esta Unidad, la forma de complemento a uno tampoco es muy usada en las computadoras contemporneas. Ahora, discutiremos la forma de complemento a dos que es usada en casi todas las computadoras modernas. 15. El Esquema de Complemento a Dos En este esquema tambin, el bit ms a la izquierda es usado como el bit de signo. Los enteros negativos son guardados en la forma de complemento a dos. Los pasos seguidos para representar enteros negativos en este esquema son dados a continuacin: Paso 1: Convertir el entero positivo en el nmero dado de bits. El bit de signo debe ser 0. Paso 2: Cambiar todos los bits. Convertir 0s en 1s y 1s en 0s Gustavo D. Modificado Oct 2012 Paso 3: Sumar 1 a los bits cambiados La tabla de verdad para la adicin en binario es dada en la Tabla 3.1. Usaremos el valor en la tabla mientras convertimos un decimal a binario y un binario a decimal usando el esquema de complemento a dos. + 0 1 0 0 1 1 1 0 (1)
Tabla 3.1: La Tabla de Verdad para Sumar Dos Dgitos Binarios Las segunda y tercer columnas de la fila superior (0 y 1) representan los bits a ser sumados con la primera columna de las segunda y tercera filas (0 y 1). stas estn resaltadas en negrita para un claro entendimiento. Las reglas de adicin implican que: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 con un acarreo de 1 En el sistema numrico decimal, 1 es acarreado cuando el resultado excede del dgito 9. En forma similar, en el esquema de complemento a dos, 1 es acarreado cuando el resultado excede del dgito 1. Mostramos el acarreo 1 en la Tabla 3.1 como (1) . Esto es ilustrado en los siguientes ejemplos. Ejemplo 3.9 Representar -(41) 10 en un byte usando la forma de complemento a dos. Paso 1: Convertir (41) 10 en binario y representarlo en un byte, el cual es 00101001. Paso 2: Convertir el nmero en su forma de complemento a dos. La forma de complemento a dos es simplemente la forma de complemento a uno, sumndole uno. Byte Original : 0 0 1 0 1 0 0 1 Bits Cambiados : 1 1 0 1 0 1 1 0 Sumar 1 : 1 Complemento a Dos: 1 1 0 1 0 1 1 1 Usando las reglas para adicin (ver Tabla 3.1), sabemos que 0+1=1. Los bits ms a la derecha, 0 y 1, cuando son sumados resultan en un 1. Note que el bit de signo es 1, indicando que es un nmero negativo. Fin de Ejemplo 3.9 Ejemplo 3.10 Representar -(2) 10 en un byte usando la forma de complemento a dos. Paso 1: Convertir (2) 10 en binario y representarlo en un byte. 0 0 0 0 0 0 1 0 Paso 2: Obtener la forma de complemento a dos de este byte. Byte Original : 0 0 0 0 0 0 1 0 Bits Cambiados : 1 1 1 1 1 1 0 1 Sumar 1 : 1 Complemento a Dos: 1 1 1 1 1 1 1 0 Sabemos de la Tabla 3.1 que 1 + 1 = 0, con un acarreo de 1. Gustavo D. Modificado Oct 2012 Una vez ms, note que el bit de signo es 1, indicando un nmero negativo. Fin de Ejemplo 3.10 Los siguientes dos ejemplos ilustran cmo convertir un entero negativo representado en la forma de complemento a dos a su equivalente decimal. Ejemplo 3.11 Encontrar el equivalente decimal para el nmero guardado en un byte usando la forma de complemento a dos. 1 0 1 0 1 0 1 0 Este es un nmero negativo dado que su bit de signo es 1. Para obtener su equivalente decimal convertimos el patrn en su forma de complemento a dos. Byte Original : 1 0 1 0 1 0 1 0 Bits Cambiados : 0 1 0 1 0 1 0 1 Sumar 1 : 1 Complemento a Dos: 0 1 0 1 0 1 1 0 (01010110) 2 = 1x2 6 + 1x2 4 + 1x2 2 + 1x2 1 = 64 + 16 + 4 + 2 = (86) 10
Para convertir de nuevo a decimal desde binario, intercambiamos los bits y sumamos 1. El patrn de bits resultante es la magnitud del nmero. El signo es negativo dado que el patrn original tena un 1 en el bit de signo. As, el byte 10101010 representa -(86) 10 . Fin de Ejemplo 3.11 Nota: La conversin desde binario a decimal usando el mtodo anterior es hecha slo cuando el patrn de bits representa un nmero negativo. Sabemos si el patrn de bits representa un nmero positivo o negativo por el valor en el bit de signo. Si el bit ms a la izquierda, es 0, entonces simplemente convertimos a binario usando el mtodo de peso posicional sin cambiar los bits. Esto se aplica tanto a la forma de complemento a uno como a la de complemento a dos. Ejemplo 3.12 Encontrar el equivalente decimal del nmero guardado en un byte usando la forma de complemento a dos. 0 0 1 0 1 1 1 1 Este es un nmero positivo, dado que su bit de signo es 0. (00101111) 2 = 1x2 5 + 1x2 3 + 1x2 2 + 1x2 1 + 1x2 0
= 32 + 8 + 4 + 2 + 1 = (47) 10
As, el byte 00101111 representa +(47) 10 dado que el bit de signo contiene un 0. Fin de Ejemplo 3.12 Gustavo D. Modificado Oct 2012 Ejemplo 3.13 Encontrar el equivalente decimal de 10000000 en la forma de complemento a dos. 1 0 0 0 0 0 0 0 Byte Original : 1 0 0 0 0 0 0 0 Bits Cambiados : 0 1 1 1 1 1 1 1 Sumar 1 : 1 Complemento a Dos : 1 0 0 0 0 0 0 0 ste representa slo la magnitud del byte original. (10000000) 2
= 1x2 7
= (128) 10
As, el byte 10000000 contiene -(128) 10 . Fin de Ejemplo 3.13 Como se muestra en los ejemplos anteriores, el esquema de complemento a dos guarda un nmero ms que los otros dos mtodos. Ahora, aprenderemos acerca de la representacin nica del cero en el esquema de complemento a dos. En casi todas las computadoras modernas hoy en da, el esquema de complemento a dos es usado para representar enteros. 15.1 Representacin del Cero en el esquema de complemento a dos Como en los ejemplos anteriores, asumimos que en la forma de complemento a dos existen dos representaciones del cero, ms cero y menos cero. El ms cero es representado en un byte como sigue: 0 0 0 0 0 0 0 0 El bit de signo es 0 y la magnitud es cero. As, esta representacin del cero es correcta. El menos cero es representado en la forma de complemento a dos como sigue: Byte Original : 0 0 0 0 0 0 0 0 Bits Cambiados : 1 1 1 1 1 1 1 1 Sumar 1 : 1 Complemento a Dos : 1 0 0 0 0 0 0 0 0 acarreo El acarreo 1 del 7mo bit es descartado. Lo que queda es: 0 0 0 0 0 0 0 0 Por lo tanto, la representacin del ms cero y menos cero en la forma de complemento a dos es la misma. No existe un ms cero o menos cero en la forma de complemento a dos. Por lo tanto, la representacin del cero es nica. 16. Esquemas de Representacin de Enteros Comparacin Entre los tres esquemas de representar enteros, dos de los esquemas, llamados el esquema de magnitud con signo y el esquema de complemento a uno, no tienen una representacin nica del cero. En la forma de complemento a dos, la representacin del cero es nica. El rango de enteros que puede ser representado tambin difiere levemente. La siguiente tabla muestra esto en forma explcita para una celda de n bits. Gustavo D. Modificado Oct 2012 Esquema Mximo Entero Positivo Mnimo Entero Negativo Magnitud con Signo 2 n-1 -1 -(2 n-1 -1) Complemento a Uno 2 n-1 -1 -(2 n-1 -1) Complemento a Dos 2 n-1 -1 -2 n-1
Tabla 3.2: Rango de Enteros para los Diferentes Esquemas Antes de continuar, vamos a dar un breve vistazo a otro mtodo de convertir un nmero binario en su equivalente decimal. Este mtodo es llamado el mtodo de doble susurro. 17. El Mtodo del Double Babble Para ilustrar este mtodo, considere un nmero binario de 4 bits (0110) 2 . Empiece con el dgito ms a la izquierda y duplquelo. Smele el siguiente bit de la derecha al resultado. Nuevamente, duplique el resultado y smele el siguiente bit a la derecha. Contine con este proceso hasta que alcance el ltimo bit. Cuando alcance el ltimo bit, ya no se duplica. Para el nmero binario 0110, empiece con 0. Duplicarlo produce 0. Sumndole el siguiente bit a la derecha lo hace 1. Duplicando esto lo hace 2. Sumando el siguiente bit a la derecha hace 2 + 1 = 3. Duplicando esto da 6 y sumndole el siguiente bit a la derecha hace 6 + 0 = (6) 10 . As (0110) 2 = (6) 10 . Esto puede ser ilustrado como se muestra a continuacin. 0 2x0 = 0 1 0 + 1 = 1; 1x2 = 2 1 2 + 1 = 3; 3x2 = 6 0 6 + 0 = (6) 10
El mtodo del double babble es slo otro mtodo de convertir un nmero binario en su equivalente decimal. Los dos siguientes ejemplos pueden ayudar a entender mejor el mtodo del double babble. Ejemplo 3.14 Convertir el entero binario 01101011 en decimal usando el mtodo del double babble. 0 0x2 = 0 1 0 + 1 = 1 2x1 = 2 1 2 + 1 = 3 2x3 = 6 0 6 + 0 = 6 2x6 = 12 1 12 + 1 = 13 2x13 = 26 0 26 + 0 = 26 2x26 = 52 1 52 + 1 = 53 2x53 = 106 1 106+ 1 = 107 Por lo tanto, (01101011) 2 = (107) 10
Fin de Ejemplo 3.14 Ejemplo 3.15 Gustavo D. Modificado Oct 2012 Convertir el entero binario 01101110 en decimal usando el mtodo del double babble. 0 0x2 = 0 1 0 + 1 = 1 2x1 = 2 1 2 + 1 = 3 2x3 = 6 0 6 + 0 = 6 2x6 = 12 1 12 + 1 = 13 2x13 = 26 1 26 + 1 = 27 2x27 = 54 1 54 + 1 = 55 2x55 = 110 0 110 + 0 = 110 Por lo tanto, (01101110) 2 = (110) 10
Fin de Ejemplo 3.15 Ahora vamos a aprender cmo realizar aritmtica binaria. 18. Aritmtica Binaria La computadora tiene una unidad lgica aritmtica que es responsable de realizar operaciones aritmticas tales como adicin, sustraccin, multiplicacin, y divisin. Dado que sabemos que todos los nmeros son guardados en binario como 0s y 1s, las reglas para la adicin y sustraccin son algo diferentes cuando las comparamos con los nmeros decimales. Sumando Dos Nmeros Binarios La Tabla de Verdad para la adicin de la Tabla 3.1 es usada para sumar dos nmeros binarios. Para entender la aritmtica usando nmeros binarios, vamos a considerar que los enteros estn representados usando cinco bits con el bit ms a la izquierda indicando el signo. La forma de complemento a dos ser usada para representar los nmeros negativos. Ahora vamos a ilustrar la aritmtica bsica en las computadoras usando una serie de ejemplos. Ejemplo 3.16 Sumar 8 + 7. +(8) 10 : 01000 +(7) 10 : 00111 : 01111 Puede verificarse que (01111) 2 = (15) 10.
Fin de Ejemplo 3.16 Ejemplo 3.17 Sumar 10 + 2. +(10) 10 : 01010 +(2) 10 : 00010 : 01100 Cuando los segundos bits desde la derecha son sumados obtenemos 0 con un acarreo 1. Este acarreo es pasado a la siguiente columna de la izquierda. As, vemos un 0 en el segundo bit y un 1 en el tercer bit desde la derecha en el resultado. Puede verificarse fcilmente que (01100) 2 = (12) 10 . Fin de Ejemplo 3.17 Gustavo D. Modificado Oct 2012
Ejemplo 3.18 Restar 10 6. Recuerde que 10 - 6 = 10 + (-6). Represente +(10) 10 en 5 bits y (-6) 10 en 5 bits en la forma de complemento a dos y sume ambos. +(6) 10 :
00110 Cambiar bits : 11001 Sumar 1 : 1 -(6) 10 : 11010 +(10) 10 : 01010 -(6) 10 : 11010 :(1) 00100 El acarreo del bit del signo se pierde. Los 5 bits restantes contienen (00100) 2 = (4) 10 , que es 10 6. Fin de Ejemplo 3.18 Ejemplo 3.19 Sumar -7 + 3. Primero, represente -(7) 10 y +(3) 10 y luego sume los dos valores. +(7) 10 : 00111 Bits Cambiados : 11000 Sumar 1 : 1 -(7) 10 : 11001 +(3) 10 : 00011 : 11100 El resultado es un nmero negativo en la forma de complemento a dos. Reconvertimos los bits en la forma de complemento a dos para encontrar la magnitud en el sistema decimal. bits Original : 11100 bits Cambiados : 00011 Sumar 1 : 1 Resultado : 00100 = (4) 10 As, (11100) 2 = -(4) 10 dado que el patrn de bits original contiene un 1 en el bit de signo. Fin de Ejemplo 3.19 Ejemplo 3.20 Restar -8 - 8. +(8) 10 : 01000 bits cambiados : 10111 Sumar 1 : 1 -(8) 10 : 11000 Ahora -8 - 8 = (-8) + (-8). Sumamos las dos representaciones de (-8). -(8) 10 : 11000 -(8) 10 : 11000 :(1) 10000 Gustavo D. Modificado Oct 2012 El bit de acarreo 1 es perdido en la circuitera. (10000) 2 es un nmero negativo. Vamos a reconvertirlo y encontrar lo que representa. Bits Original : 10000 bits Cambiados : 01111 Sumar 1 : 1 Resultado : 10000 (10000) 2 en magnitud es (16) 10 . Por lo tanto (-8) 10 + (-8) 10 = (10000) 2 = (-16) 10 . Fin de Ejemplo 3.20 Algunas veces, en una adicin podemos encontrar lo siguiente: 1 1 + 1 1 (1) 1 0 Los bits ms a la derecha cuando son sumados, pasan un acarreo a la siguiente columna de bits a la izquierda. La suma de esta columna resulta en 1+1+1, que es 1 con un acarreo de 1. Ejemplo 3.21 Sumar 6 + 8 usando 4 bits. +(6) 10 : 0110 +(8) 10 : 1000 : 1110 Es el resultado +(14) 10 como se esperaba? No, el bit de signo es 1 indicando que el resultado es negativo. Qu representa esto? Bits Original : 1110 Bits Cambiados : 0001 Sumar 1 : 1 Resultado : 0010 El patrn (0010) 2 = (2) 10 . Por lo tanto el resultado de (6) 10 + (8) 10 = (1110) 2 = -(2) 10. Qu sali mal? Note que existe un 1 en el bit de signo, hacindolo negativo y errneo. Esta condicin es llamada un desborde aritmtico. Fin de Ejemplo 3.21 Ahora discutiremos por qu ocurren tales errores. 19. Desborde Aritmtico En los ejemplos anteriores usamos cinco bits para guardar enteros. Est claro que cuando usamos 4 bits, un bit de signo y la forma de complemento a dos, el rango de enteros que puede ser representado es [-8,7]. El resultado de la suma (6) 10 + (8) 10 , es (14) 10 , lo que cae fuera del rango que puede ser representado. Cuando el resultado de una operacin aritmtica cae fuera de los lmites de representacin, ocurre un desborde aritmtico. Cuando ocurre el desborde, el resultado de la operacin aritmtica es errneo. En nuestro ejemplo anterior, ocurri un desborde aritmtico y por lo tanto, el resultado es errneo. Pero por qu el resultado -(2) 10 ? Gustavo D. Modificado Oct 2012 Sabemos que el rango de los enteros que pueden ser representados en 4 bits es [-8,7]. Esto es escrito en una forma circular como se muestra en la Figura 3.1. La figura nos ayuda a entender el desborde aritmtico. Dados 4 bits, visualice el rango de enteros que puede ser representado en forma circular. Muvase en sentido horario para la suma y en sentido antihorario para la resta de enteros. Cuando una adicin causa que el nmero sea mayor que +7 automticamente desborda en la seccin negativa, empezando con 8, que est justo despus de +7. Esta es la razn por la que ocurre el desborde cuando el resultado de una adicin o sustraccin no est en el rango de enteros que pueden ser representados. Para sumar (6) 10 y (8) 10 primero localizamos +(6) en la figura. Ahora, contamos (8) 10 avanzando desde el 6 en direccin horaria. Avanzando de esa forma, alcanzamos -(2) 10 ! Cualquier adicin dentro del limite de +7 ser correctamente representada. Dado que 14 excede este lmite, el resultado de sumar (6) 10 y (8) 10
causa el desborde en el rea negativa. Para esta situacin, el trmino desborde aritmtico es usado.
Figura 3.1: Rango de Enteros Representados en el Desborde Aritmtico de Cuatro Bits Considere otro ejemplo, 5 + 8 resulta en 3 y 5 8 tambin resulta en 3. El primero es incorrecto mientras que el segundo es un resultado correcto. El siguiente ejemplo ilustra la condicin bajo la cual ocurre el desborde. Ejemplo 3.22 Restar -8 - 3. +(8) 10 : 1000 bits cambiados : 0111 Sumar 1 : 1 -(8) 10 : 1000
+(3) 10 : 0011 bits cambiados : 1100 Sumar 1 : 1
+ -6 0 -4 -8 -2 4 2 -3 -1 1 5 7 6 3 -7 -5
- Gustavo D. Modificado Oct 2012 -(3) 10 : 1101
-(8) 10 : 1000 -(3) 10 : 1101 +(5) 10 :(1) 0101 El acarreo del bit de signo se pierde. Es resultado aqu es 5 a pesar de que debera haber sido 11. Esto es debido a que, dados 4 bits, no podemos representar valores negativos en magnitudes mayores que 8, ocasionando un desborde. Puede probar visualmente esto usando la Figura 3.1. Localice -8 en el diagrama, y muvase en sentido antihorario como si contara desde 1, -2 y 3. Terminar en 5, que es una condicin de desborde. Fin de Ejemplo 3.22 Podemos ver a partir de los ejemplos que el desborde ocurre si alguna de las siguientes condiciones son es verdaderas: Existe un acarreo 1 hacia el bit de signo, pero no fue acarreado en el bit de signo. No existe un acarreo 1 hacia el bit de signo, pero existe un acarreo desde el bit de signo. Cuando ocurran tales condiciones ocurre un desborde. Cuando un 1 es acarreado hacia el bit de signo y es correspondido con un acarreo 1 desde el bit de signo, no ocurre desborde. Cuando no existe un acarreo hacia o desde el bit de signo tampoco ocurre una condicin de desborde. As hemos completado una discusin acerca de la aritmtica en binario, los posibles desbordes aritmticos y las razones del desborde.