Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Fundamentos matemáticos de la electrónica digital (página 2)



Partes: 1, 2

Monografias.com

Conversión
de un
sistema a otro

  • Consideraciones preliminares:

En general, la conversión entre dos bases no puede
hacerse por simple sustitución; se requieren operaciones
aritméticas. Aquí enunciaremos una regla para
convertir un número en cualquier base a un número
en base 10, y viceversa.

– De base r a base 10:

Partimos del hecho conocido de que el valor de un
número en cualquier base esta dado por la formula:

Monografias.com

Donde r es la base del sistema en el
cual se halla el número y existen n
dígitos a la izquierda del punto base y p
dígitos a la derecha. De esta forma, el valor del numero
puede encontrarse al convertir cada digito del numero a su
equivalente en base 10, y expandir la formula utilizando
aritmética de base 10. Escribimos la formula de
expansión de manera anidada:

Monografias.com

Esto es, comenzamos con una suma de 0; iniciando con el digito
que esta en el extremo izquierdo, multiplicamos la suma por
r, y agregamos el siguiente digito a la suma,
repitiendo este proceso hasta
que todos los dígitos hayan sido procesados.

– De base 10 a base r:

Ahora, partimos de la formula anterior para fundamentar un
método
para convertir de un numero en base 10 a cualquier base. Para
esto, consideremos ¿que ocurre si dividimos la formula
entre r? Puesto que la parte entre
paréntesis de la formula es igualmente divisible entre
r, el cociente será:

Monografias.com

Y el residuo será d0. De este modo,
d0 puede calcularse como el residuo de la
división larga de N entre
r. Adicionalmente, el cociente Q
tiene la misma forma que la formula original; por lo tanto,
divisiones sucesivas entre r nos proporcionan
dígitos sucesivos de N de derecha a
izquierda, hasta que todos los dígitos de
N hayan sido derivados.

  • Conversión de Binario a.

– Octal:

Se hace a través de una sustitución directa.
Desde el punto binario, se separa el número binario en
grupos de 3
bits, que se reemplazan por su correspondiente digito octal.

Ejemplo:

Monografias.com

– Hexadecimal:

Se hace a través de una sustitución directa.
Desde el punto binario, se separa el número binario en
grupos de 4 bits, que se reemplazan por su correspondiente digito
hexadecimal.

Ejemplo:

Monografias.com

– Decimal:

Se hace a través de la suma, convirtiendo cada digito
del número a su equivalente en base 10 de acuerdo a la
posición que ocupa, y luego sumándolos.

Ejemplo:

Monografias.com

  • Conversión de Octal a.

– Binario:

Se hace a través de una sustitución directa,
reemplazándose cada digito octal por su equivalente
grupo de 3
bits.

Ejemplo:

Monografias.com

– Hexadecimal:

Se convierte primero el número octal a binario,
reemplazándose cada digito octal por su correspondiente
grupo de 3 bits. Luego, a partir del punto binario, se separa el
número binario en grupos de 4 bits, que se reemplazan por
su correspondiente digito hexadecimal.

Ejemplo:

Monografias.com

– Decimal:

Se hace a través de la suma, convirtiendo cada digito
del número a su equivalente en base 10 de acuerdo a la
posición que ocupa, y luego sumándolos.

Ejemplo:

Monografias.com

  • Conversión de Hexadecimal a.

– Binario:

Se hace a través de una sustitución directa,
reemplazándose cada digito hexadecimal por su equivalente
grupo de 4 bits.

Ejemplo:

Monografias.com

– Octal:

Se convierte primero el número hexadecimal a binario,
reemplazándose cada digito hexadecimal por su
correspondiente grupo de 4 bits. Luego, a partir del punto
binario, se separa el número binario en grupos de 3 bits,
que se reemplazan por su correspondiente digito octal.

Ejemplo:

Monografias.com

– Decimal:

Se hace a través de la suma, convirtiendo cada digito
del número a su equivalente en base 10 de acuerdo a la
posición que ocupa, y luego sumándolos.

Ejemplo:

Monografias.com

  • Conversión de Decimal a.

– Binario:

Se hace a través de la división.

Ejemplo:

Monografias.com

– Octal:

Se hace a través de la división.

Ejemplo:

Monografias.com

– Hexadecimal:

Se hace a través de la división.

Ejemplo:

Monografias.com

REGLA PRÁCTICA:

  • 1) Dividir por el valor decimal de la base el
    número decimal a convertir, así como los
    sucesivos cocientes, hasta obtener un cociente menor al valor
    de la base.

  • 2) Este último cociente y los restos de las
    divisiones efectuadas constituyen, en ese orden, el
    número buscado.

Operaciones con
números binarios

  • Suma de números binarios:

La siguiente es una tabla de sumar para números
binarios:

Monografias.com

Para sumar dos números binarios X y
Y, sumamos juntos los bits menos significativos,
con un acarreo inicial de 0, produciendo bits de suma y bits de
acarreo. Continuamos procesando bits de derecha a izquierda,
sumando el acarreo (si lo hubiere) fuera de cada columna a la
suma de la siguiente columna.

Ejemplo:

Monografias.com

  • Resta de números binarios:

La siguiente es una tabla de restar para números
binarios:

Monografias.com

La resta binaria se realiza de manera similar a la suma, pero
empleando acarreos negativos ("prestamos") desde una columna a la
columna anterior cuando el minuendo de esa columna sea un 0 y el
sustraendo sea un 1. Para restar dos números binarios
X y Y, restamos juntos los bits
menos significativos con un préstamo inicial de 0,
produciendo bits de resta y bits de préstamo. Continuamos
procesando bits de derecha a izquierda, restando el bit de
préstamo (si lo hubiere) a la siguiente columna.

Los valores del
minuendo binario se modificaran cuando se presente el
préstamo. Cada vez que se pide un 1 a la siguiente
posición del minuendo, este pasara a ser 0. En el caso de
que la siguiente también sea 0, pasara a ser 1,
debiéndose pedir nuevamente un 1 a la subsiguiente
posición, que también pasara a ser 1 si es 0, y
así, sucesivamente, si hay 0 en el minuendo se
transformaran en 1 hasta llegar a un 1 que pasara a ser 0.

Ejemplo:

Monografias.com

  • Multiplicación, división y
    potenciación de números binarios:

La siguiente es la tabla de multiplicar para números
binarios:

Monografias.com

Multiplicar en binario es muy sencillo: se repite el
multiplicando desplazado a la izquierda, conforme a la
posición que ocupen los unos del multiplicador. Luego se
realiza la suma con los sumandos así ordenados.

Ejemplo:

Monografias.com

La división se puede realizar con el método de
las diferencias sucesivas, siendo que cada sustraendo se obtiene
multiplicando por 1 al divisor si este ultimo es menor o igual
que el resto parcial en cuestión, o por 0 si el mismo es
mayor que dicho resto.

Ejemplo:

Monografias.com

Es importante señalar que cada vez que se multiplica o
se divide un número entero binario por la base 102=210, se
agrega o se quita un cero, respectivamente.

Con respecto a la potenciación, en cualquier base,
siempre que se tengan p factores iguales de un
numero n, se podrá escribir nxnxnx.xn=np.
Según sea la base, variará la representación
de n y p.

Debe tenerse presente que en cualquier base, la unidad seguida
de p ceros puede expresarse como la base a la
potencia
p, simbolizándose 10 la base en todos los
sistemas
numéricos.

Ejemplo:

Monografias.com

1.2)

Códigos

Se entiende por código
una representación univoca de las cantidades, de tal forma
que a cada una de estas se asigna una combinación de
símbolos determinados, y viceversa.

  • Códigos binarios:

El sistema
binario recibe el nombre de "código binario natural".
Con n cifras binarias o bits se pueden obtener
2n combinaciones diferentes. Cada
combinación de estas se puede asignar a una cantidad
diferente. Por ello, el número de asignaciones posible es
el de permutaciones de las 2n combinaciones, es
decir, 2n!, que constituyen otros tantos
códigos binarios.

Un código binario es continuo si las
combinaciones correspondientes a números decima-les
consecutivos son adyacentes. Se denominan combinaciones binarias
adyacentes aquellas que difieren solamente en un bit.

Un código binario es cíclico si la
última combinación es adyacente a la primera.

  • Código Gray:

Es un código binario cíclico no ponderado
diseñado para reducir la probabilidad
de que un sistema malinterprete una entrada cambiante, ya que
solo 1 bit cambia entre cada par de palabras de código
sucesivas.

Existen dos maneras convenientes de construir un código
Gray con cualquier número deseado de bits. El primer
método esta basado en el hecho de que el código
Gray es un "código reflejado"; puede ser definido y
construido de manera recursiva, empleando las siguientes
reglas:

  • 1. Un código Gray de 1 bit tiene dos palabras
    de código, 0 y 1.

  • 2. Las primeras 2n-1 palabras de
    código de un código Gray de n
    bits son iguales a las palabras de código de un
    código Gray de n-1 bits, escritas en
    orden con un 0 agregado en su extremo izquierdo.

  • 3. Las ultimas 2n-1 palabras de
    código de un código Gray de n
    bits son iguales a las palabras de código de un
    código Gray de n-1 bits, pero escritas
    en orden inverso y con un 1 agregado en su extremo
    izquierdo.

El segundo método nos permite derivar una palabra de
código Gray de n bits directamente de la
correspondiente palabra de un código binario natural de
n bits.

  • 1. Los bits de una palabra de código binaria
    de n bits o código Gray se enumeran de
    derecha a izquierda, desde 0 hasta
    n-1.

  • 2. El bit i de una palabra de
    código de código Gray es 0 si los bits
    i e i+1 de la correspondiente
    palabra de código binario son iguales; sino, el bit
    i es 1 (cuando i+1=n, el bit
    n de la palabra de código binario se
    considera que es 0).

Monografias.com

  • Códigos alfanuméricos:

Son códigos no ponderados que permiten representar,
aparte de información numérica,
información alfabética y algunos signos
especiales (caracteres imprimibles), como así
también caracteres de control del
sistema, que pueden emplearse para controlar una acción,
para señalar una condición, o para representar
el estado
actual del hardware (caracteres no
imprimibles).

El código alfanumérico más utilizado es
el código
ASCII (American Standar Code for Information Interchange),
que representa cada carácter con una cadena de 7 bits y produce
un total de 27=128 caracteres diferentes, los cuales se indican
en la siguiente tabla:

Monografias.com

Los códigos de control que aparecen en la tabla del
código ASCII se
describen en la siguiente tabla:

Monografias.com

  • Códigos BCD:

En los códigos BCD, cada número decimal se
codifica directamente en un código binario. Para
representar los diez dígitos, del 0 al 9, se necesitan 4
bits, porque con 3 bits se podrían codifican solamente
23=8 dígitos, del 0 al 7. Por lo tanto, de las 24=16
combina- ciones posibles con cuatro bits, en los códigos
BCD solo se emplean diez. Esto hace que el número de bits
necesarios para representar una cantidad en un código BCD
sea superior al del código binario natural.

Los códigos BCD se pueden clasificar en dos
categorías principales: códigos ponderados y
códigos no ponderados.

Los códigos BCD ponderados son aquellos en los que a
cada posición o cifra binaria se le asigna un peso, y el
número decimal equivalente a una combinación
binaria se obtiene sumando los pesos de las posiciones que poseen
el valor 1. Los códigos BCD ponderados más
empleados son el código "BCD Natural", que es un
código binario cuyos 4 bits tienen asignados los pesos 8,
4, 2 y 1 (por esta razón, también se lo llama
código 8421), y el código "BCD Aiken", que
es un código cuyos 4 bits tienen asignados los pesos 2, 4,
2 y 1 (por esta razón, también se lo llama
código 2421); una ventaja de este ultimo
código es que es un código "autocomplementado", es
decir, que para cualquier numero N, puede obtenerse la
combinación correspondiente de su complemento a 9 (9-N),
simplemente invirtiendo la combinación correspondiente a
N, cambiando los 1 por 0 y viceversa.

Monografias.com

Los códigos no ponderados son aquellos en los que cada
posición binaria no tiene asignado un peso determinado,
aunque generalmente siguen reglas para su construc-ción.
Los códigos BCD no ponderados mas utilizados son el
código "BCD Exceso 3", donde la combinación para
cada digito decimal es la correspondiente combinación del
código BCD Natural más 00112; el código "BCD
Biquinario", cuya combinación contiene 7 bits, donde los
primeros 2 bits indican si el número se encuentra en el
intervalo 0-4 (01) o en el intervalo 5-9 (10), mientras que los
últimos 5 bits indican cual de los cinco números en
el intervalo seleccionado esta representado; y el código
"BCD 1 de 10", donde se emplean 10 bits para representar los diez
dígitos decimales, de forma tal que solo un bit de los
diez valga 1, poniendo ese bit 1 en posiciones sucesivas
partiendo del MSB y asignándole a cada combinación
un número decimal, empezando por 0 y terminando en 9.

Monografias.com

Una ventaja potencial que se obtiene al utilizar más
del número mínimo de bits en un código es la
propiedad de
detección de errores.

  • Código Johnson:

Es un código binario cíclico no ponderado,
también llamado "código progresivo", cuya capacidad
de codificación para un código de
n bits es de 2n cantidades
diferentes. Por eso, para representar los diez dígitos
decimales, se necesitan 5 bits. La ley de
formación establece que partiendo de todos los bits en 0,
progresa un 1 de derecha a izquierda hasta completar todas las
posiciones, y luego progresa un 0 hasta alcanzar nuevamente la
condición inicial. Este código no se emplea en
sistemas
digitales complejos, dado que la máxima capacidad de
codificación con n bits es
2n, evidentemente superior a la del código
Johnson.

Monografias.com

Definiciones:

– Capacidad de codificación: es la cantidad de
combinaciones que constituyen el código en relación
a su ley de formación y a la cantidad de posiciones
binarias con las que sea definido.

– Distancia: es la cantidad de bits que deben modificarse en
un código binario para pasar de una combinación a
otra que también pertenezca al código. En base a
esta definición, la distancia mínima será la
menor distancia entre cualquier par de combinaciones
pertenecientes al código.

  • Cubos n y distancia:

Los cubos n se emplean para visualizar
geométricamente cadenas de n bits. Un cubo
n tiene 2n vértices, cada
uno de los cuales se encuentra etiquetado con una cadena de
n bits. Los bordes se dibujan de manera que cada
vértice sea adyacente a otros n
vértices cuyas etiquetas difieren del vértice dado
solamente en un bit. Más allá de
n=4, los cubos n son realmente
difíciles de dibujar.

Para valores razonables de n, los cubos
n hacen fácil la visualización de
ciertos proble-mas de codificación y minimización
de lógica.

Monografias.com

Los cubos también proporcionan una interpretación geométrica para el
concepto de
distancia, también llamado distancia de Hamming.
Como vimos, la distancia entre dos cadenas de n
bits es el numero de posiciones de bits en las cuales difieren.
En términos de un cubo n, la distancia es
la mínima longitud de una trayectoria entre los dos
vértices correspondientes; evidentemente, dos
vértices adyacentes tienen distancia 1 (que es la
mínima distancia posible). El concepto de distancia se
emplea en el diseño
de códigos de detección y corrección de
errores.

Un subcubo m de un cubo n es
un conjunto de 2m vértices, en el cual
n-m de los bits tienen el mismo valor en cada
vértice, y los m bits restantes se hacen
cargo de todas las combinaciones restantes
2m.

Ejemplo: los vértices (000, 010, 100, 110) forman un
subcubo 2 del cubo 3. Este subcubo también puede indicarse
mediante una cadena simple, "xx0", donde "x" indica que un bit en
particular es del tipo "sin importancia"; cualquier
vértice cuyos bits coincidan en las posiciones "no x"
pertenece a este subcubo.

  • Códigos para detectar y corregir
    errores:

Un error en un sistema digital es la alteración
de datos a partir de
su valor correcto a algún otro valor. Un error es causado
por una falla física, que puede ser
temporal o permanente.

Los efectos que tienen las fallas en los datos se predicen
mediante modelos de
error; el más sencillo es el "modelo de
error independiente". Este modelo supone que una falla solamente
afecta a un bit de datos; esto es, los datos corrompidos
solamente contienen un error (error simple). Varias
fallas pueden ocasionar errores múltiples (error
múltiple
), pero se supone que es menos probable.

  • Códigos de detección de error:

Un código de detección de error tiene la
propiedad de que la corrupción de una palabra de código
probablemente producirá una cadena de bits que no sea una
palabra de código (una palabra de no-código).

Un sistema que utiliza un código de detección de
error genera, transmite y almacena solamente palabras de
código. De este modo, los errores en una cadena de bits
pueden detectarse mediante una regla simple: si la cadena de bits
es una palabra de código, se supone que es correcta; si es
una palabra de no-código, entonces contiene un error.

Un código de n bits y sus propiedades
de detección de error bajo el modelo de error
independiente se explican fácilmente en términos de
un cubo n. Un código es simple-mente un
subconjunto de los vértices del cubo n. A
fin de que el código detecte todos los errores simples,
ningún vértice de palabra de código puede
estar adyacente a otro vértice de palabra de
no-código.

Monografias.com

Ejemplo: un código de 3 bits con 4 palabras de
código, es un código que tiene la propiedad de
detección de errores simples; ningún error simple
puede cambiar una palabra de código en otra, ya que todas
las palabras de código difieren en más de un
bit.

La capacidad de un código para detectar errores simples
puede establecerse en términos del concepto de distancia:
un código detecta todos los errores simples si la
distancia minima entre todos los pares posibles de palabra de
código es 2.

En general, necesitamos n+1 bits para
construir un código de detección de errores simples
con 2n palabras de código. Los primeros
n bits de una palabra de código, llamados
bits de información, pueden ser cualquiera de las
2n cadenas de n bits. Para
obtener un código de distancia minima 2, agregamos un bit
adicional, llamado bit de paridad, que se establece a 0
si hay un número par de unos entre los bits de
información, y a 1 de otro modo. Así, obtenemos un
código de paridad par, donde una palabra de
código valida de n+1 bits tiene un
número par de unos. También se puede construir un
código de paridad impar, en el cual el
número total de unos en una palabra de código
valida de n+1 bits sea impar. Estos
códigos también se denominan códigos de
paridad de 1 bit
, puesto que cada uno de ellos utiliza solo
1 bit de paridad.

Monografias.com

Los códigos de paridad de 1 bit no detectan errores de
2 bits, puesto que cambiar 2 bits no afecta la paridad. Sin
embargo, los códigos pueden detectar errores en cualquier
número impar de bits, pero prácticamente la
capacidad de detección de errores de los códigos de
paridad de 1 bit se detiene después de los errores de 1
bit.

  • Corrección de errores y códigos de
    detección de errores múltiples:

Al utilizar más de un bit de paridad, o bits de
verificación
, de acuerdo a algunas reglas bien
elegidas, podemos crear un código cuya distancia minima
sea mayor que 2.

Pero ¿cómo se emplea un código de este
tipo para corregir errores simples o detectar errores
múltiples? Para explicarlo, supongamos un código
con una distancia minima de 3. En base a esto, vamos a tener al
menos dos palabras de no-código entre cada par de palabras
de código. Ahora supongamos que transmitimos palabras de
código, y asumamos que las fallas afectan como
máximo 1 bit de cada palabra de código recibida.
Entonces, una palabra de no-código recibida con un error
de 1 bit estará más cerca de la palabra de
código que se transmitió originalmente que de
cualquier otra palabra de código. Por consiguiente, cuando
recibamos una palabra de no-código, podemos corregir el
error cambiando la palabra de no-código a la palabra de
código más cercana. La decisión que implica
saber cual palabra de código se transmitió
originalmente se conoce como decodificación, y el
hardware que lo hace se llama decodificador de
corrección de errores
.

Un código que se utiliza para corregir errores se
denomina código de corrección de errores.
En general, si un código tiene una distancia minima de
2c+1, puede utilizarse para corregir errores que
afecten hasta c bits (c=1 en el
caso de los códigos correctores de errores de 1 bit). Si
una distancia minima de código es de
2c+d+1, puede emplearse para corregir errores en
hasta c bits y detectar errores en
d bits adicionales.

  • Códigos de Hamming:

Los códigos de Hamming están basados en la
adición de p bits de paridad a un
código de distancia 1 de n bits de datos,
obteniéndose un nuevo código de n+p
bits. En este nuevo código se realizan p
detecciones de paridad en bits de datos seleccionados del mismo,
obteniéndose un bit de paridad 1 o 0 según el
número de unos sea par o impar.

El número p de bits de paridad
añadidos ha de ser suficiente para permitir la
detección del error en las n+p posiciones.
Dado que con p bits se obtienen
2p combinaciones, se ha de cumplir la
relación 2pMonografias.comn+p+1.

El código final a transmitir estará compuesto
por la suma de los bits de datos más los bits de paridad.
Dentro del código de Hamming, los bits de paridad van
ubicados, contando de derecha a izquierda, en las posiciones (en
decimal) que son potencia de 2. Las posiciones restantes son
ocupadas por los bits de datos.

El receptor del código de Hamming deberá
realizar una serie de operaciones con los bits recibidos mediante
ecuaciones
preestablecidas para determinar si la palabra de código
recibida tiene error y en cual bit, o si por el contrario, la
palabra de código no tiene error.

Ejemplo: supongamos que deseamos transmitir los
números decimales del 0 al 9 mediante el código BCD
natural; puesto que empleamos 4 bits de datos
(n=4), para confeccionar el código de
Hamming se deberán agregar 3 bits de paridad
(p=3), ya que 23=8Monografias.com4+3+1.

Monografias.com

Monografias.com

Para plantear las ecuaciones que permiten calcular el valor de
los bits de paridad, cada bit de paridad es asociado a los bits
de datos cuya posición, expresada en binario, tiene un 1
en la potencia de 2 en la que esta ubicada el bit de paridad, de
acuerdo a la siguiente representación:

Monografias.com

Para cada palabra del código de datos se debe calcular
el valor de cada uno de los bits de paridad, el cual es 0 si la
cantidad de unos de los bits asociados es par, y es 1 si la
cantidad de unos de los bits asociados es impar.

De lo anterior se deduce que el bit de paridad B0 esta
asociado a los bits de datos D0, D1 y D3, el
bit de paridad B1 esta asociado a los bits de datos
D0, D2 y D3, y el bit de paridad B2
esta asociado a los bits de datos D1, D2 y
D3, por medio de las siguientes ecuaciones:

Monografias.com

De esta manera, el código de Hamming para los
dígitos decimales expresados en BCD natural es:

Monografias.com

Por la forma en que están elegidos los bits de paridad,
es obvio que en la medida de que no ocurra un error en la
transmisión de cada palabra de código de Hamming,
las siguientes ecuaciones serán siempre iguales a
cero:

Monografias.com

De producirse un error en la transmisión de cualquier
bit de una palabra de código de Hamming, en las ecuaciones
en las que aparece dicho bit el resultado será uno. El
resultado de todas las ecuaciones va a formar un número
binario que nos indicara la posición del bit con
error.

Para mostrarlo, supongamos que trasmitimos el número
(7) decimal codificado en código de Hamming (0110100),
pero recibimos la palabra de código con error (0010100);
de esta forma, tenemos que:

Monografias.com

Planteando las ecuaciones para el código recibido,
tenemos que:

Monografias.com

Y de aquí podemos observar que el error se encuentra en
el bit que ocupa la posición 1102, que corresponde
efectivamente al bit D2. La corrección se realiza
invirtiendo el bit erróneo (si es un 1, cambiarlo por un
0, y si es un 0, cambiarlo por un 1).

1.3)

Representación de números
binarios signados

Básicamente, existen muchas formas de representar
números signados, pero las dos mas empleadas son la
representación de magnitud y signo, y los sistemas
numéricos de complemento.

  • Representación de magnitud con signo:

El sistema de magnitud con signo se aplica a los
números binarios haciendo uso de una posición de
bit extra para representar el signo (bit de signo);
tradicionalmente, el MSB de una cadena de bits es empleado como
el bit de signo (0=signo más, 1=signo
menos), y los bits de menor orden contienen la magnitud.

Ejemplos:

Monografias.com

El sistema de magnitud con signo tiene un número
idéntico de enteros positivos y negativos. Un entero de
magnitud con signo de n bits esta situado dentro
del intervalo que va desde –(2n-1-1) hasta
+(2n-1-1), y existen dos representaciones
posibles del cero.

  • Sistemas numéricos de complemento:

Mientras que el sistema de magnitud con signo convierte en
negativo un número al cambiar su signo, un sistema
numérico de complemento convierte en negativo un
número tomando su complemento como definido por el
sistema. En el caso del sistema de numeración binario, los
sistemas numéricos de complemento más empleados son
el "complemento a 1" y el "complemento a 2".

– Complemento a 1:

Se obtiene complementando cada bit del número binario,
es decir, cambiando cada 0 por 1 y viceversa.

Ejemplo:

Monografias.com

– Complemento de 2:

Se obtiene tomando el complemento a 1 y sumándole 1 al
LSB del número binario.

Ejemplo:

Monografias.com

– Representación de números con signo
mediante el complemento a 2:

El sistema complemento a 2 para representar números con
signo trabaja de la siguiente manera:

  • Si el número es positivo, la magnitud esta
    representada por su equivalente binario verdadero y se agrega
    un 0 antes del MSB.

  • Si el número es negativo, la magnitud esta
    representada por su equivalente en complemento a 2 y se
    agrega un 1 antes del MSB.

Ejemplo:

Monografias.com

El sistema de complemento a 2 se emplea para representar
números con signo porque permite efectuar la
operación de resta de números binarios mediante una
suma.

En general, la operación complemento a 2 de un numero
con signo cambiara un numero positivo por uno negativo y
viceversa.

La reconversión de un número en el sistema
complemento a 2 a su valor binario verda-dero se efectúa
simplemente siguiendo el mismo proceso que se empleo para
obtener el complemento.

– Caso especial de la representación en complemento
a 2:

Siempre que un número con signo tiene un 1 en el bit de
signo y todos los bits de magnitud son 0, su decimal equivalente
es -2n, donde n es el
número de bits que hay en la magnitud.

Ejemplo:

Monografias.com

De este modo, podemos decir que el intervalo completo de
valores que se pueden representar en el sistema complemento a 2
que tiene n bits de magnitud es
-2n hasta +(2n-1). En total,
existen 2n+1 valores diferentes, incluido el
cero.

Suma y resta en
el sistema complemento a 2

  • Suma:

Es importante observar que el bit de signo de cada
número se opera en la misma forma que la parte de la
magnitud.

– CASO I: dos números positivos.

Monografias.com

Notemos que los bits de signo del cosumando y del sumando son
0, y el bit de signo de la suma es 0, lo que indica que la suma
es positiva. Notemos asimismo que el cosumando y el sumando se
forman con el mismo número de bits; esto siempre debe
llevarse a cabo en le sistema complemento a 2.

– CASO II: numero positivo y numero negativo
menor.

Monografias.com

En este caso, el bit de signo del sumando es 1. Observemos que
el bit de signo también participa en el proceso de
adición; de hecho, se genera un acarreo en la
última posición de la suma. Este acarreo siempre se
descarta.

– CASO III: número positivo y número
negativo mayor.

Monografias.com

Aquí, la suma tiene un bit de signo 1, lo que indica un
número negativo. Como la suma es negativa, debemos tener
en cuenta que esta se encuentra en su forma complemento a 2, de
forma que los últimos cuatro bits representan en realidad
el complemento a 2 de la suma. Para encontrar la magnitud
verdadera de la suma, debemos tomar nuevamente el complemento a
2.

– CASO IV: dos números negativos.

Monografias.com

Este resultado final vuelve a ser negativo, y esta en forma
complemento a 2 con bit de signo 1.

– CASO V: números iguales y opuestos.

Monografias.com

El resultado es obviamente 0, como se esperaba.

  • Resta:

La operación de sustracción que emplea el
sistema complemento a 2 en realidad comprende la operación
de adición. Cuando se resta un número binario
(sustraendo) a otro número binario
(minuendo), el procedimiento es
el siguiente:

1. Se toma el complemento a 2 del sustraendo, incluyendo el
bit de signo. Si el sustraendo es un número positivo, este
se transformara en uno negativo en forma complemento a 2. Si el
sustraendo es un número negativo, este se transformara en
uno positivo en forma binaria verdadera. En otras palabras, se
altera el signo del sustraendo.

2. Después de tomar el complemento a 2 del sustraendo,
este se suma al minuendo. El minuendo se conserva en su forma
original. El resultado de esta adición representa la
"diferencia" que se pide. El bit de signo de esta diferencia
determina si es positiva o negativa, y si se encuentra en forma
binaria verdadera o en forma complemento a 2. Recordemos que
ambos números deben tener el mismo número de
bits.

Ejemplo:

Monografias.com

Se cambia el sustraendo a su forma complemento a 2 (11100), lo
que representa (-4). Ahora, se suma esto al minuendo:

Monografias.com

Cuando el sustraendo se cambia por su complemento a 2, en
realidad se convierte en -4, así que sumamos +9 a -4, que
es lo mismo que restar +4 de +9. por lo tanto, cualquier
operación de sustracción se convierte en realidad
en una de adición cuando se emplea el sistema complemento
a 2.

 

 

 

 

Autor:

Eduardo Daniel Andolfi

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter