You are on page 1of 14

RESTA EN COMPLEMENTO A DOS. La resta en complemento a dos resuelve el problema de esta operación con los signos.

Por ejemplo, el sustraendo negativo y minuendo positivo produce un resultado positivo; la resta de dos números A y B negativos puede dar resultados positivos o negativos. Para realizarla se procede con la fórmula definida de la siguiente forma: (Ec.1.5); La diferencia de dos números, A menos B es equivalente a la suma de A más el complemento a dos de B. I) Resta de dos números positivos. El resultado puede presentar varias formas que se determinan con los siguientes casos: (A mayor o igual que B):

De está manera, el resultado queda en forma binaria normal y es igual a valor del 17vo bit no se toma en cuenta para el resultado. En decimal A=2375110 y B=1518610; entonces A-B=856510 = 00100001011101012 (A menor que B):

De está manera, el resultado es negativo y queda en forma de complemento a dos, el acarreo del 17vo bit no se toma en cuenta. Sin embargo, para saber el verdadero valor, el resultado se debe complementar a dos. Este es un número binario negativo de 16 bits, lo cual tiene un valor de:

B<0 0 0 Positivo en binario normal Negativo en complemento a dos Chequear para no exceder el formato de 16 bits. En decimal la operación se efectúa: A = 774810 y B = 3115110 entonces el resultado es A-B = -2340310. Complementar los 16 bits para obtener el verdadero valor. 0 1 1 0 Positivo en binario normal El 17vo bit no se toma en cuenta para el resultado. Chequear para no exceder el formato de 16 bits y el 17vo bit no se toma en cuenta. B>0 A>=B A-B 1 0 Positivo en binario normal El 17vo bit no se toma en cuenta para el resultado. Resumen de las operaciones suma y resta binaria con los datos A y B. A-B A>0. B>0 (**) A+B A<0. Operación Acarreo 17vo bit Acarreo 16vo bit Resultado Observaciones A+B A>0.. Tabla 1. utilizando el formato de 16 bits. B<0 (**) A+B A<0. 1 1 Negativo en complemento a dos Complementar los 16 bits para obtener el verdadero valor. II) RESTA DE DOS NÚMEROS NEGATIVOS Y DE DISTINTO SIGNO. B>0 A+B A>0. El resultado puede presentar varias formas que se determinan aplicando los mismos casos de la suma en formato de 16 bits. 3. 0 1 Negativo en Complementar los 16 .

Son representaciones para números con signo que eliminan el centrado de la representación básica en complemento a dos. B>0 A<B A-B A>0. Antes de comenzar a describir estos formatos se debe entender el funcionamiento de un caso especial de complemento a dos el cual se denomina representación con exceso o sesgada. Todo depende de la magnitud de A y B. B<0 A-B A<0. Los formatos más conocidos son la coma fija y la coma flotante. Complementar los 16 bits para obtener el verdadero valor. REPRESENTACIÓN CON EXCESO O SESGADA. Positivo en binario normal Negativo en complemento a dos A-B A<0. Consiste en una cadena de bits que guardan relación con la notación científica. (**) Se producen resultados negativos o positivos dependiendo del mayor entre A y B. y pueden representar números enteros y números reales tanto negativos como positivos. B<0 (**) 0 1 Negativo en complemento a dos o positivo normal Complementar los 16 bits para obtener el verdadero valor o dejarlo igual. B>0 1 1 0 0 complemento a dos bits para obtener el verdadero valor. REPRESENTACIÓN NUMÉRICA EN COMA FIJA Y COMA FLOTANTE. Por ejemplo para indicar números decimales desde un valor numérico -P10 hasta +P10 es necesario desplazar el equivalente binario (-P10 )2 sumando P2 unidades positivas. Chequear para no exceder el formato de 16 bits. Chequear para no exceder el formato de 16 bits y el 17vo bit no se toma en cuenta. Esta cantidad se conoce como exceso o sesgo. Estas representaciones son utilizadas por las computadoras para procesar cálculos numéricos con formatos grandes.A>0. también denominados punto fijo y punto flotante respectivamente. Las representaciones con exceso se .

Por lo tanto. para indicar números negativos. es de hacer notar que solamente ocurre un cambio en el bit más significativo (MSB: Most Significative Bit) del código con exceso. con frecuencia. DECIMAL +7 +6 +5 +4 +3 +2 +1 0 -1 -2 -3 -4 -5 -6 -7 -8 COMPLEMENTO A DOS 0111 0110 0101 0100 0011 0010 0001 0000 1111 1110 1101 1100 1011 1010 1001 1000 EXCESO 8 1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000 REPRESENTACIÓN NUMÉRICA EN COMA FIJA. ejemplo de esto se puede apreciar en la tabla 1. la representación de cualquier código con exceso -P. se forma sumando el valor de P a cada palabra o número del código.3(a) donde se tiene la representación de números enteros con signo en formato de . Los números fraccionarios y con signo se pueden representar mediante la coma fija. COMPARACIÓN DE CÓDIGOS EN COMPLEMENTO A DOS Y EXCESO 8.utilizan. la representación del mismo número negativo en código desplazado con exceso 8 es de 00002. En complemento a dos -810 es igual a 10002. Sin embargo. para representar los exponentes de los números con coma flotante. En la tabla 1.2 y la figura 1.4 se pueden observar las representaciones desde -810 hasta +810 en complemento a dos y en código con exceso donde P2 = 10002.

también de coma fija.1. se obtiene la forma de coma flotante (Ec.1 se puede obtener la representación con signo de coma fija y está dada por: .3(b).3(b) respectivamente. La representación tiene la siguiente forma (Ec.8) . La fórmula general queda del siguiente modo. donde M es la mantisa o significado y se representa en coma fija. Los restantes bits deben indicar la magnitud fraccionaria. existe otra representación para coma fija. la cual consiste en fijar la posición de la coma después del bit de signo.16 bits. dada en la figura 1.6). de la Ec. En forma general.1. este valor indica la cantidad de dígitos significativos que tiene el número N de coma flotante. El valor E es el exponente o característica.1. está dado en formato de complemento a dos con exceso y b es la base del sistema. Los números representados en coma flotante tienen la misma forma que la notación científica. ahora sustituyendo por el formato de coma fija.7). No obstante.1. (Ec. REPRESENTACIÓN NUMÉRICA EN COMA FLOTANTE. ver figura 1.

FORMATO Estándar IEEE 754-1985 Precisión sencilla Doble Precisión IBM 360 Precisión sencilla 32 24 7 64 32 64 24 53 8 11 128 1024 TOTAL DE BITS BITS DE LA MANTISA BITS DEL EXPONENTE EXCESO DEL EXPONENTE . sin embargo.donde bs es el bit de signo. usados en los sistemas de computación.4(a) y 1.4(b) se definen los formatos en coma flotante para datos numéricos reales cortos y largos utilizados en los computadores. Existen varias formas de representar los formatos de coma flotante. La tabla 1. e es el número de bits del exponente con . esto es equivalente a escribir E con formato de exceso en base dos de la siguiente manera. por lo tanto.5 muestra un resumen de los formatos de precisión sencilla y doble (corto y largo) respectivamente. los que más se utilizan son los siguientes: En las figuras 1. .

Doble precisión DEC VAX 11/780 Formato F Formato D Formato G 64 56 7 64 32 64 64 24 56 53 8 8 11 128 128 1024 Tabla 1. . primero hay que hallar la mantisa con la Ec. primero hay que hallar la mantisa con la Ec. Formatos comunes para números representados en coma flotante.1101110111010)2 E=+810=+(1000)2.111010101)2 E=-410=-(100)2. En este caso hay que sumarle al exponente un exceso de 810.5. ALFANUMÉRICOS Y DE ERRORES. si el bit de signo es negativo entonces E'=11002. E= 11002+10002 = 01002 La solución final queda de la siguiente forma: b Exponen s te E 0 0100 Mantisa M 111010101 CÓDIGOS DE NUMERACIÓN. M=+(0.1. E= 010002+100002 = 110002 La solución final queda de la siguiente forma: b Exponen s te E 0 11000 Mantisa M 110111011 1010 Solución (b): Se debe llevar a la forma . M=+(0. En este caso hay que sumarle al exponente un exceso de 1610.00001110101012 Solución (a): Se debe llevar a la forma .1.7 y luego el exponente E con exceso. si el bit de signo es positivo entonces E'=01002.11012 b) 0.7 y luego el exponente E con exceso. Ejemplo: Escribir en formato de coma flotante los números: a) 11011101.

Deci mal 0 1 2 3 4 5 6 7 8 9 10 BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0001 Exceso 3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 0100 2421 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111 0001 5421 0000 0001 0010 0011 0100 1000 1001 1010 1011 1100 0001 Biquinario 0100001 0100010 0100100 0101000 0110000 1000001 1000010 1000100 1001000 1010000 0100010 Dos de cinco 00011 00101 01001 10001 00110 01010 10010 01100 10100 11000 00101 Gr ay 00 00 00 01 00 11 00 10 01 10 01 11 01 01 01 00 11 00 11 01 11 . 5421. normalizar el funcionamiento de los mismos y detectar posibles fallas de datos para su posterior corrección.5. dos de ellos es son código Jhonson y el código Gray. Aiken o 2421.1 Códigos numéricos. 1.6 se describen algunos de ellos con sus respectivos equivalentes decimales. en circuitos digitales combinacionales son el código BCD. Dos de Cinco. Existen otros códigos de tipo secuencial cíclicos. El objetivo de los códigos es simplificar la comunicación entre los distintos circuitos digitales. Los más utilizados. En la tabla 1. Biquinario. Exceso 3. códigos alfanuméricos y códigos detectores y correctores de errores.Los códigos en los sistemas digitales se clasifican en tres tipos: códigos numéricos.

(Binario Codificado en Decimal): La conversión con el sistema decimal se realiza directamente. Código BCD. Equivalencia desde cero hasta quince de algunos códigos numéricos más utilizados.6.0000 11 12 13 14 15 0001 0001 0001 0010 0001 0011 0001 0100 0001 0101 0011 0100 0100 0100 0101 0100 0110 0100 0111 0100 1000 0000 0001 0001 0001 0010 0001 0011 0001 0100 0001 1011 0000 0001 0001 0001 0010 0001 0011 0001 0100 0001 1000 0100001 0100010 0100010 0100010 0100100 0100010 0101000 0100010 0110000 0100010 1000001 00011 00101 00101 00101 01001 00101 10001 00101 00110 00101 01010 11 11 10 10 10 10 11 10 01 10 00 Tabla 1. para transformar el número decimal 7890510 en código BCD se toman los equivalentes en grupos de cuatro bits cada uno.B16 = 24380.6: 7 0111 8 1000 9 1001 0 0000 510 0101B CD Resp: 7890510 = 0111 1000 1001 0000 0101BCD Para realizar la equivalencia del BCD con el sistema binario se debe tomar la precaución de realizar primero la transformación decimal y posteriormente la conversión al BCD. ver tabla 1.B16 Solución (a): 10111011111112 = 601510 = 0110 0000 0001 0101BCD Solución (b): 5F3C. Ejemplo: Transformar en BCD los siguientes números: a) 10111011111112. llamado 7 segmentos. b) 5F3C. los cuales poseen previamente convertidores que transforman el grupo de cuatro bits BCD en otro especial. Por ejemplo.687510 = 0010 0100 0011 1000 0000. Este código tiene aplicación en visualizadores (displays) hechos con diodos led o LCD. 0110 1000 0111 0101BCD . en grupos de cuatro bits por cada dígito decimal con ponderación 8421.

r en código BCD. este factor se duplica en forma proporcional del mismo modo que aumenta la decena en el resultado. c) p + q y obtener el resultado también en BCD. . La suma en BCD puede dar como resultado un número no perteneciente al código. Factores de corrección para la suma BCD. . El factor de corrección se debe aplicar siempre y cuando el resultado de la suma sea mayor o igual a diez. Fc = nx6 Tabla 1. . (n0 ~ n9) 1 2 3 4 . p = 1000 0110 0010 0000 1001BCD. n Valor decimal de rango Valor decimal de la decena (n) Factor de corrección Decimal (Fc)10 6 12 18 24 . sin embargo.7. . Del mismo modo. sumar: a) p + q + r. Por lo que se debe aplicar la fórmula donde n es igual al valor binario de la decena del resultado. este número no pertenece al código BCD y su valor equivalente es quince unidades. . este número también pertenece al código. b) q + r. Factor de corrección Binario (Fc)2 0110 1100 10010 11000 . . Para el rango binario desde diez (10102) hasta diecinueve (100112) el factor de corrección es seis 01102. Cuando suceden estos casos es necesario sumar un factor de corrección que depende del rango donde se encuentre el resultado de la suma.SUMA EN BCD. la suma debe realizarse en binario. cuando se suman 0111 +1000 el resultado es 1111. Por ejemplo.7 muestra los valores del factor de corrección con su respectivo rango. Dado los números p. q. . Fc = n2x(0110)2 (10 ~ 19) (20 ~ 29) (30 ~ 39) (40 ~ 49) . Ejemplo. . q = 0100 1001 1001 0011 0111BCD r = 0111 1001 1000 0110 0010 0011 1001BCD . al sumar los números BCD 1000 + 0001 el resultado es 1001. La tabla 1.

7 y llevar el acarreo correspondiente. por dígito decimal.7 y llevar el acarreo correspondiente.Solución (a): Los resultados que superen el 1001 hay que sumarle el factor de corrección según la tabla 1. CÓDIGO EXCESO 3. Solución (b): Los resultados que superen el 1001 hay que sumarle el factor de corrección según la tabla 1. considerando los valores 2421. para hallar su peso se debe tomar también grupos de cuatro bits. Es un código igual al BCD. Solución (c): Los resultados que superen el 1001 hay que sumarle el factor de corrección según la tabla 1.7 y llevar el acarreo correspondiente. . La ponderación de este código es diferente al BCD. CÓDIGO AIKEN O 2421. sin embargo se deben añadir tres unidades a este para transformarlo en exceso 3.

la 8va posición es 0100 y a continuación viene la 9na 1100. CÓDIGO 5421. El código Gray tiene aplicaciones en contactos de escobillas de motores. que cambia solo el bit más significativo de cero a uno. tiene la ventaja de poder realizar fáciles algoritmos para el chequeo de errores de transmisión. desde la 8va combinación hay que repetir simétricamente los valores. de modo tal. Se forma cambiando el bit menos significativo de manera continua y consecutiva. CÓDIGO DOS DE CINCO. en nivel uno. Por ejemplo. del mismo modo. se usa para indicar si el dígito se encuentra comprendido entre 5 y 9. solamente se debe detectar que hayan dos bits. y éste. en uno. por dígito decimal. la 7ma 0101 es simétrica con la 11va 1101. Este código cíclico no posee una relación directa con la ponderación de los dígitos del sistema decimal. de manera que no se repita con alguna combinación anterior. complementando. La ventaja del código Gray radica en que la probabilidad de ocurrir menos errores y problemas de transición aumenta a medida que cambian mas bits de estado simultáneamente. siete por cada dígito. CÓDIGO BIQUINARIO. CÓDIGO GRAY . La ponderación de este código es diferente al BCD. Sin embargo. Este código es similar al Biquinario. el segundo bit del código. Uno de estos se debe encontrar entre los primeros dos bits y el otro en los cinco restantes que forman el dígito. para hallar su peso se debe tomar también grupos de cuatro bits. Este código se forma repitiendo los cinco primeros valores de la tabla 1. Necesita siete bits para formarse. considerando los valores 5421. El primer bit del código.6. El cambio consecutivo del código BCD desde 0111 a 1000 puede producir transiciones intermedias que originan el 1111 antes de . por cada dato. a partir de los primeros cinco dígitos. señala que se encuentra en el rango de 0 a 4. También se puede formar obteniendo las primeras ocho combinaciones con tres bits y luego. pero requiere de cinco bits para el correcto funcionamiento.Este código se conoce como autocomplementado a uno porque sus diez valores. Solamente cambia un bit. sistemas donde solo se necesite cambiar un bit de estado cíclicamente.6. se pueden formar. debe ser el menos significativo. en uno. La desventaja de este código es la cantidad de bits que se deben utilizar para transmitir información. en la tabla 1. siempre hay dos bits en nivel alto (uno) y los restantes cinco deben estar en nivel bajo (cero). cambiando solamente el bit más significativo de cero a uno. Dos bits deben estar en nivel alto y los otros tres en cero.

para codificar la palabra UNEXPO se procede de la siguiente forma: 1010101 1001110 1000101 1011000 1010000 1001111 U 5 5 H N 4 E H E 4 5 H X 5 8 H P 5 0 H O 4 F H Tabla 1. el código Gray pasará desde 0111 a 0101 cambiando solamente un bit y por lo tanto. Las computadoras se comunican mediante estos códigos y los más utilizados son el código ASCII y el UNICODE.estabilizarse en 1000. Estos códigos son interpretados por el computador como caracteres e indistintamente pueden representar símbolos numéricos. CÓDIGO ASCII.xx muestra los símbolos con su respectivo valor hexadecimal. CÓDIGOS ALFANUMÉRICOS. Código ASCII. con menos posibilidad de cometer errores. letras e instrucciones de control del computador. Sin embargo. símbolos de control y letras. ASCII: American Standard Code Interchange Information. B6B5B4 BI N B3B2B 1B0 0000 0001 0010 0011 0100 0101 HE X 0 1 2 3 4 5 000 0 NUL SOH STX ETX EOT ENQ 001 1 DLE DC1 DC2 DC3 DC4 NAK 010 2 SP ! " # $ % 011 3 0 1 2 3 4 5 100 4 @ A B C D E 101 5 P Q R S T U 110 6 ` a b c d e 111 7 p q r s t u . Cada caracter alfanumérico esta formado por una cadena de siete bits.8. Este código representa 128 símbolos diferentes entre dígitos. Por ejemplo. La tabla 1.

0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 6 7 8 9 A B C D E F ACK BEL BS HT LF VT FF CR SO SI SYN ETB CAN EM SUB ESC FS GS RS US & ' ( ) * + . / 6 7 8 9 : . . < = > ? F G H I J K L M N O V W X Y Z [ \ ] ^ _ f g h i j k l m n o v w x y z { | } ~ DEL .