Complemento a base menos 1

Solo disponible en BuenasTareas
  • Páginas : 5 (1226 palabras )
  • Descarga(s) : 0
  • Publicado : 14 de diciembre de 2010
Leer documento completo
Vista previa del texto
Complemento a la Base Menos 1
En este sistema de representación, los números positivos se expresan igual que en Signo Magnitud o que en Binario Puro. Sin embargo, para escribir los números negativos se utiliza el Complemento a la Base Menos 1. De forma normalizada, el Complemento a la Base Menos 1 de un número entero positivo N de base b, se expresa de la siguiente manera:
Cb-1(N) = bn - 1 - Nsiendo n el número de cifras destinadas a representar al número. Por tanto, en codificación binaria, el Complemento a 1 (C1) de un número entero positivo (N) se puede expresar como:
C1(N) = 2n - 1 - N = NC1

Ejemplo : En Complemento a 1, para n = 16, el número -950310 se escribe calculando el Complemento a la Base Menos 1 del número 950310 escrito en base 2, es decir, del número100101000111112:
C1(N) = C1(10010100011111) =

= 2n - 1 - N =

= 216 - 1 - 10010100011111 =

= 10000000000000000 - 1 - 10010100011111 =

= 1101101011100000C1

En consecuencia,
-950310 = 1101101011100000C1

Obsérvese que, el Complemento a 1 de un número entero positivo (N) escrito en binario es el resultado de cambiar todos los bits de valor, es decir, todos los ceros por unos y todos unos porceros.

Por otra parte, dado un número entero positivo (N) en Complemento a 1, para calcular su valor en base 10, se puede utilizar la misma fórmula que en Signo Magnitud o que en Binario Puro.

Un número (N) representado en Complemento a 1 es positivo si el bit más significativo es cero. En caso contrario, el número será negativo, y para calcular su valor en base 10, habrá que cambiar todos losunos por ceros y todos los ceros por unos, obteniendo así su correspondiente número positivo, al cual sí se le puede aplicar una de las fórmulas anteriores y cambiarle el signo al resultado.

|

Complemento a 2 (C2)
En este sistema de representación, los números positivos se expresan igual que en Complemento a 1, Signo Magnitud o Binario Puro. Sin embargo, para escribir los númerosnegativos se utiliza el Complemento a la Base. Formalmente, el Complemento a la Base de un número entero positivo N de base b, se expresa del siguiente  modo:
Cb(N) = bn - N

siendo n el número de cifras empleadas en la representación del número. Por tanto, en codificación binaria, el Complemento a 2 (C2) de un número entero positivo (N) se puede expresar como:
C2(N) = 2n - N = NC2

Ejemplo: EnComplemento a 2, para n = 16, el número -950310 se escribe calculando el Complemento a la Base del número 950310 representado en base 2, es decir, del número 100101000111112:
C2(N) = C2(10010100011111) =

= 2n - N =

= 216 - 10010100011111 =

= 10000000000000000 - 10010100011111 =

= 1101101011100001C2

En consecuencia,
-950310 = 1101101011100001C2

Fíjese que, el Complemento a 2 de unnúmero entero positivo (N) escrito en binario es el resultado de cambiar todos los bits de valor (ceros por unos y unos por ceros), obteniendo así el Complemento a 1 del número y, después, sumarle 1.
C2(N) = C1(N) + 1 = NC1 + 1 = NC2

Resta por complemento

Si queremos realizar una resta basándonos en el complemento a b (base) lo que hacemos es sumar al minuendo el complemento a b delsustraendo. Si la suma acarrea 1, éste se descarta. En caso contrario se dice que el número es negativo y será el complemento a b del resultado de la suma.

Veamos un ejemplo con números: (123 - 023)10 ; aquí el complemento a 10 de 23 es 977, entonces:
123
+ 977
----------
1 100

El primer 1 es el acarreo por lo que la respuesta es 100.

OJO: al usar este método debe considerar todos losnúmeros con la misma cantidad de dígitos. NO! pueden considerar el número 23 como un número de 2 dígitos. Minuendo y sustraendo deben contener el mismo número de dígitos. Por lo tanto deben considerar 023. En caso contrario obtendrían un error.

Veamos otro ejemplo en el que la suma no arroja complemento: (23 - 100)10 ; para este caso el complemento a 10 de 100 es 900 => 23 + 900 = 923 ( no...
tracking img