You are on page 1of 5

UTILIZACIÓN DEL COMPLEMENTO A1 Y A2 Y LA EXTENSION DE SIGNO

COMPLEMENTO A 1: Se obtiene al cambiar cada uno de los dígitos de un número 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 número binario se obtiene tomando el complemento a 1, y sumándole 1 al bit menos significativo. A continuación se ilustra este proceso para el número 1101 = 13

Existe una manera abreviada y es coger el número binario y se procede a realizar la negación de cada bit dejando siempre el primer 1 (uno), que se encuentre de derecha a izquierda igual. Ejemplo: 10011012à77; ahora para encontrar su complemento a 2 se aplica lo que se menciono anteriormente y quedaría de la siguiente forma:

los números negativos se representan mediante el patrón de bits que es un bit mayor (sin signo) que el complemento a uno del valor positivo. 254 255 Representar el signo de un número podría consistir en asignar un bit para representar el signo. 126 127 −128 −127 −126 . los bits restantes en el número indican la magnitud. 11111110 11111111 Valor del complemento a dos 0 1 . En el complemento a dos.. 8.. poner ese bit (a menudo el bit más significativo) a 0 para un número positivo. −2 −1 Valor sin signo 0 1 . y a 1 para un número negativo. hay un solo cero (00000000).16 y 32 bits dichos espacios no pueden quedar vacios.... Para negar un número (negativo o positivo) invertimos todos los bits y añadimos un 1 al resultado. 126 127 128 129 130 ..... En el complemento a dos.EXTENSIÓN DEL SIGNO La extensión de signo se utiliza porque los sistemas digitales utilizan tamaños fijos de almacenamiento como son 4.. Valores con números de 8 bits 00000000 00000001 . .. 01111110 01111111 10000000 10000001 10000010 ..

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 .Decimal Entero positivo Signo y magnitud Complemento a 1 Complemento a 2 BCD.

Nos fijamos que el carácter de la izquierda del contenido nos da el signo. el número es positivo. Acostumbramos a escribir los enteros separando el signo de la magnitud del número. así que del carácter de más a la izquierda del contenido estamos deduciendo un valor de ocho al escribir la magnitud en hexadecimal. WRITE Ahora veremos algunos ejemplos prácticos de cómo llevar a este formato datos enteros. El mismo número de caracteres nos dice implícitamente el espacio de trabajo. El bit de signo puede ocupar cualquier posición dentro de los bits de trabajo. estamos usando el bit de la izquierda para el signo. F023 formato > 1111000000100011 binario > -1110000001000112 hexadecimal > 702316 Este ejemplo nos permite observar que si deseamos expresar el resultado de la lectura en sistema hexadecimal. por ejemplo. daremos un vuelco de memoria con caracteres hexadecimales para ver cómo queda el espacio donde hemos almacenado el dato. Para propósito de estas lecciones. cada carácter representa su correspondiente grupo de cuatro bits. 13210 binario > 100001002 formato > no es posible. +25. -32. y es necesario grabar el signo siempre. -5710 binario > -1110012 formato > 10111001 vuelco > B9 3. no es necesario dar todos los pasos intermedios. READ En los ejemplos que siguen miraremos a contenidos de almacenamiento e interpretaremos éstos bajo el formato Signo/Magnitud. De ser positivo. si no.FORMATO DE REPRESENTACION SIGNO/MAGNITUD El formato de representación de enteros con signo que llamamos Signo/Magnitud es un formato que imita nuestra escritura manual de números enteros. 1. 2. Después de grabar internamente. Si es negativo. C20345A9 lectura > -420345A916 3. Se separa un bit para representar el signo. 5710 binario > 1110012 formato > 00111001 vuelco > 39 2. Cuando no escribimos signo explícitamente se sobreentiende que la cantidad representada es positiva. la magnitud no cabe en el espacio disponible de siete bits (el signo ocupa uno). su escritura en hexadecimal corresponde directamente al contenido. El contenido se presenta en caracteres hexadecimales. 80002234 lectura > -223416 . la costumbre es asignar el valor de cero para representar positivo y uno para representar el signo negativo. 698B lectura > 698B16 4. 1. Si éste es igual o mayor a ocho (8). En la máquina no podemos sobreentender. presumimos que el bit del signo ocupa la posición de más a la izquierda. Definición: El formato Signo/Magnitud está fundamentado en el sistema posicional binario que representa el signo del entero separado de su magnitud. el número que leemos es negativo.

si estamos trabajando en m bits. Además.1 bits para escribir la magnitud del número en binario.11). Éste es uno menos que 2m-1 ..Alcance: En el formato Signo/Magnitud. Se examina primero el bit de signo. se restan las magnitudes y el signo resultante es igual al de la magnitud mayor. Así pues el: Máximo: 2m-1 . De sumar formatos con signos iguales. Estas condiciones nunca pueden darse si sumamos formatos con signos diferentes. Esta duplicidad de representación del cero es una situación totalmente indeseada pues tenemos que hacer los ajustes para que el sistema reconozca que ambas representaciones significan lo mismo. de ser diferentes. si son iguales se suman las magnitudes y el signo resultante es igual al signo compartido por los sumandos. No obstante.1 Mínimo: -(2m-1 -1) Aritmética: La suma en formato Signo/Magnitud es similar a la suma de enteros con la que estamos familiarizados.. 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 más difícil de implementar que en otros formatos fundamentados en sistema binario y se ejecuta más lento. . este formato aventaja a los otros formatos binarios en operaciones de Entrada/Salida. pueden ocurrir las condiciones de carry-over y/o overflow. El número de magnitud más grande que podemos escribir en este espacio es aquel donde todos los bits están en uno (111111. tenemos disponibles m . este formato usa dos representaciones para el cero pues escribe un cero positivo (+0)y un cero negativo (-0).