You are on page 1of 5

UTILIZACIN DEL COMPLEMENTO A1 Y A2 Y LA EXTENSION DE SIGNO

COMPLEMENTO A 1: Se obtiene al cambiar cada uno de los dgitos de un nmero binario por su complementario, esto es, cambiar los unos por ceros y los ceros por unos.

Por ejemplo: 11002 ->12 SU COMPLEMENTO A 1, SERIA: 00112 10011012->77 SU COMPLEMENTO A 1, SERIA: 01100102

COMPLEMENTO A 2: El complemento a 2 de un nmero binario se obtiene tomando el complemento a 1, y sumndole 1 al bit menos significativo. A continuacin se ilustra este proceso para el nmero 1101 = 13

Existe una manera abreviada y es coger el nmero binario y se procede a realizar la negacin de cada bit dejando siempre el primer 1 (uno), que se encuentre de derecha a izquierda igual. Ejemplo: 1001101277; ahora para encontrar su complemento a 2 se aplica lo que se menciono anteriormente y quedara de la siguiente forma:

EXTENSIN DEL SIGNO La extensin de signo se utiliza porque los sistemas digitales utilizan tamaos fijos de almacenamiento como son 4, 8,16 y 32 bits dichos espacios no pueden quedar vacios. Valores con nmeros de 8 bits 00000000 00000001 ... 01111110 01111111 10000000 10000001 10000010 ... 11111110 11111111 Valor del complemento a dos 0 1 ... 126 127 128 127 126 ... 2 1 Valor sin signo 0 1 ... 126 127 128 129 130 ... 254 255

Representar el signo de un nmero podra consistir en asignar un bit para representar el signo, poner ese bit (a menudo el bit ms significativo) a 0 para un nmero positivo, y a 1 para un nmero negativo; los bits restantes en el nmero indican la magnitud. En el complemento a dos, los nmeros negativos se representan mediante el patrn de bits que es un bit mayor (sin signo) que el complemento a uno del valor positivo. En el complemento a dos, hay un solo cero (00000000). Para negar un nmero (negativo o positivo) invertimos todos los bits y aadimos un 1 al resultado.

Decimal Entero positivo Signo y magnitud Complemento a 1 Complemento a 2 BCD- exceso 7 +8 +7 +6 +5 +4 +3 +2 +1 (+)0 ()0 1 2 3 4 5 6 7 8 1000 0111 0110 0101 0100 0011 0010 0001 0000 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 0111 0110 0101 0100 0011 0010 0001 0000 1000 1001 1010 1011 1100 1101 1110 1111 n/a n/a 0111 0110 0101 0100 0011 0010 0001 0000 1111 1110 1101 1100 1011 1010 1001 1000 n/a n/a 0111 0110 0101 0100 0011 0010 0001 0000 n/a 1111 1110 1101 1100 1011 1010 1001 1000 1111 1110 1101 1100 1011 1010 1001 1000 0111 n/a 0110 0101 0100 0011 0010 0001 0000 n/a

FORMATO DE REPRESENTACION SIGNO/MAGNITUD


El formato de representacin de enteros con signo que llamamos Signo/Magnitud es un formato que imita nuestra escritura manual de nmeros enteros. Acostumbramos a escribir los enteros separando el signo de la magnitud del nmero, por ejemplo, -32, +25. Cuando no escribimos signo explcitamente se sobreentiende que la cantidad representada es positiva. En la mquina no podemos sobreentender, y es necesario grabar el signo siempre. Definicin: El formato Signo/Magnitud est fundamentado en el sistema posicional binario que representa el signo del entero separado de su magnitud. Se separa un bit para representar el signo; la costumbre es asignar el valor de cero para representar positivo y uno para representar el signo negativo. El bit de signo puede ocupar cualquier posicin dentro de los bits de trabajo. Para propsito de estas lecciones, presumimos que el bit del signo ocupa la posicin de ms a la izquierda. WRITE Ahora veremos algunos ejemplos prcticos de cmo llevar a este formato datos enteros. Despus de grabar internamente, daremos un vuelco de memoria con caracteres hexadecimales para ver cmo queda el espacio donde hemos almacenado el dato. 1. 5710 binario > 1110012 formato > 00111001 vuelco > 39 2. -5710 binario > -1110012 formato > 10111001 vuelco > B9 3. 13210 binario > 100001002 formato > no es posible, la magnitud no cabe en el espacio disponible de siete bits (el signo ocupa uno). READ En los ejemplos que siguen miraremos a contenidos de almacenamiento e interpretaremos stos bajo el formato Signo/Magnitud. El contenido se presenta en caracteres hexadecimales; cada carcter representa su correspondiente grupo de cuatro bits. El mismo nmero de caracteres nos dice implcitamente el espacio de trabajo. 1. F023 formato > 1111000000100011 binario > -1110000001000112 hexadecimal > 702316 Este ejemplo nos permite observar que si deseamos expresar el resultado de la lectura en sistema hexadecimal, no es necesario dar todos los pasos intermedios. Nos fijamos que el carcter de la izquierda del contenido nos da el signo. Si ste es igual o mayor a ocho (8), el nmero que leemos es negativo, si no, el nmero es positivo. De ser positivo, su escritura en hexadecimal corresponde directamente al contenido. Si es negativo, estamos usando el bit de la izquierda para el signo, as que del carcter de ms a la izquierda del contenido estamos deduciendo un valor de ocho al escribir la magnitud en hexadecimal. 2. C20345A9 lectura > -420345A916 3. 698B lectura > 698B16 4. 80002234 lectura > -223416

Alcance: En el formato Signo/Magnitud, si estamos trabajando en m bits, tenemos disponibles m - 1 bits para escribir la magnitud del nmero en binario. El nmero de magnitud ms grande que podemos escribir en este espacio es aquel donde todos los bits estn en uno (111111...11). ste es uno menos que 2m-1 . As pues el: Mximo: 2m-1 - 1 Mnimo: -(2m-1 -1) Aritmtica: La suma en formato Signo/Magnitud es similar a la suma de enteros con la que estamos familiarizados. Se examina primero el bit de signo, si son iguales se suman las magnitudes y el signo resultante es igual al signo compartido por los sumandos; de ser diferentes, se restan las magnitudes y el signo resultante es igual al de la magnitud mayor. De sumar formatos con signos iguales, pueden ocurrir las condiciones de carry-over y/o overflow. Estas condiciones nunca pueden darse si sumamos formatos con signos diferentes. Ejemplos: Ejemplo 1 00110011 00010010 01000101 Se suman magnitudes no carry over no overflow Ejemplo 2 11000010 11100000 10100011 Se suman magnitudes no carry over overflow

Ejemplo 3 10001100 00110011 00100111 Se restan magnitudes no carry over no overflow

Ejemplo 4 10001100 00000100 10001000 Se restan magnitudes No carry over No overflow

Comentarios: La suma en el formato Signo/Magnitud es ms difcil de implementar que en otros formatos fundamentados en sistema binario y se ejecuta ms lento. Adems, este formato usa dos representaciones para el cero pues escribe un cero positivo (+0)y un cero negativo (-0). Esta duplicidad de representacin del cero es una situacin totalmente indeseada pues tenemos que hacer los ajustes para que el sistema reconozca que ambas representaciones significan lo mismo. No obstante, este formato aventaja a los otros formatos binarios en operaciones de Entrada/Salida.

You might also like