sábado

representacion numerica en complemento a dos

.
En el sistema binario, la forma más utilizada para representar los números enteros con signo es la de complemento a dos. Los circuitos microprocesadores poseen internamente unidades de procesamiento aritmético que trabajan bajo éste formato, el cual puede estar constituido por n bits múltiplos de la potencia de base dos. Por ejemplo, para representar los números positivos y negativos se definen datos con tamaño estándar: ocho bits, 16 bits, 32 bits, etc.
En este formato, el bit más significativo (MSB) del dato se utiliza para indicar el signo y los bits restantes representan la magnitud del número. En la figura 1.2 se puede apreciar la representación del formato utilizado para 16 bits, donde el más significativo (B15) indica que el signo es negativo si vale uno o positivo si vale cero. Las cantidades positivas se encuentran en binario normal mientras que los números negativos están en complemento a dos, esto significa que estos últimos, se deben complementar para poder hallar su verdadero valor.
El complemento de un número, en éste formato, es igual que cambiar el signo del mismo. Por otra parte, el complemento del complemento da como resultado el mismo número.
Ejemplo: Determinar el valor de los siguientes números dados en representación con signo de 16 bits (Formato de 16 bits):
a) 11001010101110002; b) 7FA816; c) 11111100000111002;
d) 1761028; e) FA816;
Solución (a): El bit 15 del dato vale uno; esto significa que el número es negativo y está dado en complemento a dos. Primero se debe complementar el dato para hallar su verdadero valor en binario y después se transforma a decimal.

Solución (b): Se debe transformar hexadecimal a binario y completar con ceros a la izquierda en caso de que el dato no tenga los 16 bits completos. Luego se hace la transformación a decimal.

Solución (c): El bit 15 del dato vale uno; esto significa que el número es negativo y está dado en complemento a dos. Primero se debe complementar el dato para hallar su verdadero valor en binario y después se transforma a decimal.

Solución (d): Se debe transformar octal a binario y completar con ceros a la izquierda en caso de que el dato no tenga los 16 bits completos. Luego se hace la transformación a decimal.

Solución (e): Se debe transformar hexadecimal a binario y completar con ceros a la izquierda en caso de que el dato no tenga los 16 bits completos. Luego se hace la transformación a decimal.



OPERACIONES ARITMÉTICAS EN COMPLEMENTO A DOS.
La suma y resta son las operaciones básicas realizadas por los microprocesadores, cualquiera otra operación, es consecuencia recursiva de éstas. A continuación se describen estas dos operaciones aritméticas, realizadas con números binarios en complemento a dos utilizando formato de signo y magnitud de 16 bits.
SUMA EN COMPLEMENTO A DOS.
Son cuatro casos que se presentan al sumar dos datos en formato con signo de complemento a dos:
I) SUMA DE DOS NÚMEROS POSITIVOS. El resultado debe ser positivo, y el bit más significativo de la suma, siempre dará cero.
Ejemplo: A = 1000111110001002; B = 100101101110112.
Antes de realizar la suma binaria se debe tener la precaución de sumar en decimal los números. De esta manera se puede chequear el resultado de la suma para tener la certeza de que no exceda el valor +32767 10 y por lo tanto no sobrepasar el formato de 16 bits (Esto se conoce como OVERFLOW). También el 16vo bit en uno señala el sobreflujo de la operación.
II) SUMA DE UNO NEGATIVO Y OTRO POSITIVO. El resultado debe poseer el signo del que tenga mayor valor absoluto. En este caso el resultado es positivo y el 16vo bit vale cero.
Ejemplo: A = 11010110010101102; B = 1101101101110112
III) SUMA DE UNO POSITIVO Y OTRO NEGATIVO.El resultado debe poseer el signo del que tenga mayor valor absoluto. En este caso el resultado es negativo y el 16vo bit vale cero; del mismo modo no se debe tomar en cuenta el acarreo del 17vo bit.
Ejemplo: A = 110110110101012; B = 10010110111010012
A = 11110011111100002; B = 1001110111001012
Con dos números de distintos signos se dan los casos de acarreo en el 17vo bit. Si éste acarreo es cero significa que el resultado es negativo y se debe complementar para hallar su verdadero valor de la otra forma, si el acarreo es uno, entonces el signo del resultado es mayor o igual a cero y se encuentra en verdadero valor.
IV) SUMA DE DOS NÚMEROS NEGATIVOS. El resultado debe ser negativo, por lo tanto el bit más significativo de la suma siempre dará uno.
Antes de realizar la suma binaria se debe tener la precaución de sumar en decimal los números. De esta manera se puede chequear el resultado de la suma para tener la certeza de que no exceda el valor -3276710 y por lo tanto no sobrepasar el formato de 16 bits (Esto se conoce como OVERFLOW). También el 16vo y/o 17vo bits en cero señalan el sobreflujo de la operación.

No hay comentarios:

Publicar un comentario