Está en la página 1de 91

EIE 446 - SISTEMAS DIGITALES

Tema 2: Sistemas de Numeración, Operaciones y Códigos

Nombre del curso: “Sistemas Digitales”


Nombre del docente: Héctor Vargas
Fecha: 1er semestre de 2011
INTRODUCCIÓN
● El sistema de numeración binario y los códigos digitales son fundamentales
en las computadoras y, en general, en la electrónica digital.

● Esta unidad está enfocada principalmente al sistema de numeración binario y


sus relaciones con otros sistemas de numeración tales como el decimal,
hexadecimal y octal.

● Se cubren las operaciones aritméticas con números binarios con el fin de


proporcionar una base para entender cómo trabajan las computadoras y
muchos otros tipos de sistemas digitales.

● También se abordan códigos digitales como el código decimal binario (BCD,


Binary Code Decimal), el código Gray y el ASCII.

● Se presenta el método de paridad para la detección de errores en los códigos


y se describe un método para corregir dichos errores.
NÚMEROS DECIMALES
● Todos estamos familiarizados con el sistema de numeración decimal porque
los usamos cada día.

● Aunque los números decimales son triviales, a menudo, su estructura de


pesos no se comprende. En lo sucesivo, revisaremos la estructura de los
números decimales.

● Esto ayudará a entender más fácilmente la estructura del sistema de


numeración binario, que es tan importante en las computadoras y la
electrónica digital.
NÚMEROS DECIMALES
● A la posición de cada número en un “sistema de numeración posicional” se le
asigna un “peso” basado en la base o radix del sistema. El radix de los
números decimales es 10, porque sólo se utilizan 10 símbolos (de 0 a 9) para
representar cualquier número.
● Los pesos de las columnas de números decimales son potencias de 10 que se
incrementan de derecha a izquierda empezando por 100 =1.

…105 104 103 102 101 100.


● Para números decimales fraccionales, los pesos de las columnas son
potencias negativas de 10 que disminuyen de izquierda a derecha.

102 101 100. 10-1 10-2 10-3 10-4 …


NÚMEROS DECIMALES
● Los números decimales se pueden expresar como la “suma de productos” de
cada dígito por los valores de las columnas (potencias de 10) para ese dígito.
Así, el número 9240 se puede expresar como:

(9 x 103) + (2 x 102) + (4 x 101) + (0 x 100)


ó
9 x 1000 + 2 x 100 + 4 x 10 + 0 x 1

Expresar el número 480.52 como la suma de valores


de cada dígito.

480.52 = (4 x 102) + (8 x 101) + (0 x 100) + (5 x 10-1) +(2 x 10-2)


NÚMEROS BINARIOS
● El sistema de numeración binario es simplemente otra forma de representar
magnitudes.

● El sistema binario es menos complicado que el decimal ya que solo tiene dos
dígitos. Al principio puede parecer complicado por no ser familiar.

● El sistema decimal con sus diez dígitos es un sistema en base diez, el


sistema binario con sus dos dígitos es un sistema en base dos.

● Los dos dígitos binarios (bits) son 1 y 0. La posición de un 1 o un 0 indican su


peso o valor en un número de la misma manera que en el sistema decimal.
NÚMEROS BINARIOS
● Para los sistemas digitales, se utiliza el sistema de numeración binario. El
sistema binario tiene un radix de 2 y utiliza los dígitos 0 y 1 para representar
cantidades.

● Los pesos de columna para números binarios son potencias de 2 que


aumentan de derecha a izquierda empezando por 20 =1.

…25 24 23 22 21 20.
● Para números binarios fraccionales, los pesos de las columnas son potencias
negativas de 2 que disminuyen de izquierda a derecha.

22 21 20. 2-1 2-2 2-3 2-4 …


Número Número

NÚMEROS BINARIOS Decimal Binario

0 0000
● A la derecha se muestra una secuencia de conteo 1 0001
binario para los números decimales de 0 a 15. 2 0010
3 0011
● Observe los patrones de ceros y unos de cada columna. 4 0100
5 0101
6 0110
● Los Contadores Digitales tienen comúnmente el
mismo patrón de dígitos.
7 0111
8 1000
0 1 0 1 0 1 0 1 0 1
9 1001
Counter Decoder
10 1010
0 0 1 1 0 0 1 1 0 0
11 1011
0 0 0 0 1 1 1 1 0 0
12 1100
0 0 0 0 0 0 0 0 1 1 13 1101
14 1110
15 1111
CONVERSIÓN BINARIO A DECIMAL
● El equivalente decimal de un número binario se puede determinar sumando
los valores de las columnas de todos los bits que son 1 y descartando todos
los bits que son 0.

Convertir el número binario 100101.01 a decimal.

Comience por escribir la columna de pesos; luego sumar


los pesos que corresponden a cada 1 en el número.

25 24 23 22 21 20. 2-1 2-2


32 16 8 4 2 1 . ½ ¼
1 0 0 1 0 1. 0 1
32 +4 +1 +¼ = 37¼
CONVERSIÓN DECIMAL A BINARIO
● En la diapositiva anterior vimos cómo convertir un número binario en el
número decimal equivalente. Ahora vamos a aprender dos métodos para
convertir un número decimal en un número binario.
1. Método de la suma de pesos: Se puede convertir un número entero
decimal en uno binario revirtiendo el procedimiento. Para ello:

 Escribir el peso decimal de cada columna y poner 1’s en las


columnas que suman el número decimal.

Convertir el número decimal 49 a binario.


Poner 1s en las posiciones de pesos adecuadas de tal
manera que la suma corresponda al número decimal.
26 25 24 23 22 21 20.
64 32 16 8 4 2 1.
0 1 1 0 0 0 1.
CONVERSIÓN DECIMAL A BINARIO
2. Método de la división sucesiva por 2: Se puede convertir un decimal a
cualquier base dividiendo repetidamente por la base. En el caso binario,
dividir repetidamente por 2. La condición de parada se produce cuando
la parte entera del cociente es 0.

Convertir el número decimal 49 a binario dividiendo


repetidamente por 2.

Se puede hacer por “división en reversa” y la respuesta se


leerá de izquierda a derecha. Poner cuocientes a la
izquierda y restos encima.
Respuesta: resto
1 1 0 0 0 1
0 1 3 6 12 24 49 2
Continúe hasta el Número
Cociente base
último cuociente es 0 decimal
CONVERSIÓN DE FRACCIONES DECIMALES A BINARIO
● Se puede convertir un número decimal fraccionario a binario
multiplicando repetidamente los resultados fraccionales de sucesivas
multiplicaciones por 2. Los acarreos forman el número binario.

Convertir el decimal fraccionario 0.188 a binario


multiplicando los resultados fraccionales por 2.

0.188 x 2 = 0.376 acarreo = 0 MSB


0.376 x 2 = 0.752 acarreo = 0
0.752 x 2 = 1.504 acarreo = 1
0.504 x 2 = 1.008 acarreo = 1
0.008 x 2 = 0.016 acarreo = 0
Respuesta = .00110 (para 5 dígitos significativos)
ARITMÉTICA BINARIA
● La aritmética binaria es esencial en todas las computadoras digitales y en
muchos otros tipos de sistemas digitales.

● Para entender los sistemas digitales, debe conocer los principios básicos de
la suma, resta, multiplicación y división binarias. En lo sucesivo se
introducen estos temas.
SUMA BINARIA
● Las reglas básicas para la suma binaria son:
0+ 0= 0 Suma = 0, acarreo = 0
0+ 1= 1 Suma = 1, acarreo = 0
1+ 0= 1 Suma = 1, acarreo = 0
1+ 1= 10 Suma = 0, acarreo = 1

● Cuando hay un acarreo de entrada = 1 debido a un resultado previo,


las reglas son:
1+ 0 + 0 = 01 Suma = 1, acarreo = 0
1+ 0 + 1 = 10 Suma = 0, acarreo = 1
1+ 1 + 0 = 10 Suma = 0, acarreo = 1
1+ 1 + 1 = 11 Suma = 1, acarreo = 1
SUMA BINARIA

Sumar los números binarios 00111 y 10101 y mostrar la


suma decimal equivalente.

0111
00111 7
10101 21
11100 = 28
RESTA BINARIA
● Las reglas básicas para la resta binaria son:
0-0=0
1-1=0
1-0=1
10 - 1 = 1 con un adeudo de 1

Restar el número binario 00111 a 10101 y mostrar la


resta decimal equivalente.

1 11
10101
/ / / 21
00111 7
01110 = 14
MULTIPLICACIÓN BINARIA
● Las reglas básicas para la multiplicación binaria son:

00=0
01=0
10=0
11=1
● La multiplicación con números binarios se realiza de la misma forma que
con números decimales. Se realizan los productos parciales, desplazando
cada producto parcial sucesivo una posición a la izquierda, y sumando luego
todos los productos parciales.

Multiplicar el número binario 110100010101 con 1101.


MULTIPLICACIÓN BINARIA

Multiplicar el número binario 110100010101 con 1101.

334913 = 43537
DIVISIÓN BINARIA
● Estudiar del libro base …
COMPLEMENTO A 1 Y 2 DE NÚMEROS BINARIOS
● El complemento a 1 y el complemento a 2 de un número binario son
importantes porque permiten la representación de números negativos.

● La aritmética en complemento a 2 se usa comúnmente en las computadoras


para manipular números negativos.
COMPLEMENTO A 1
● El complemento a 1 de un número binario es solo la inversión de los
dígitos. Para formar el complemento a 1, cambiar todos los 0’s a 1’s y
todos los 1’s a 0’s.

Por ejemplo, el complemento a 1 de 11001010 es


00110101

● En circuitos digitales, el complemento a 1 se forma utilizando inversores:

1 1 0 0 1 0 1 0

0 0 1 1 0 1 0 1
COMPLEMENTO A 2
● El complemento a 2 de un número binario se obtiene sumando 1 al LSB del
complemento a 1.
Recordamos que el complemento a 1 de 11001010 es
00110101 (complemento a 1)
Para formar el complemento a 2, sumar 1: +1
00110110 (complemento a 2)
1 1 0 0 1 0 1 0

0 0 1 1 0 1 0 1
Input bits
Carry
Adder
in (add 1)
Output bits (sum)

0 0 1 1 0 1 1 0
COMPLEMENTO A 2
● Un método alternativo para obtener el complemento a 2 de un número
binario es el siguiente:

1. Se empieza por la derecha con el LSB y se escriben los bits como están
hasta encontrar el primer 1, incluido éste.
2. Se calcula el complemento a 1 de los bits restantes.

Calcular el complemento a 2 de 10111000.


NÚMEROS CON SIGNO
● Los sistemas digitales, tales como las computadoras, deben ser capaces de
manejar números positivos y negativos.

● Un número binario con signo queda determinado por su magnitud y su


signo. El signo indica si un número es positivo o negativo, y la magnitud el
valor del número.

● Existen tres formatos binarios para representar los números enteros con
signo: signo-magnitud, complemento a 1 y complemento a 2.

● Los números no enteros y muy grandes o muy pequeños pueden expresarse


en formato de coma flotante.
BIT DE SIGNO
● El bit más a la izquierda de un número binario con signo es el bit de signo,
que indica si el número es positivo o negativo. “Un bit se signo 0 indica
que es un número positivo y un bit de signo igual a 1 indica que es un
número negativo”.

FORMATO SIGNO Y MAGNITUD


● Cuando un número binario con signo se representa en este formato, el bit
más a la izquierda es el bit de signo y los restantes bits son de magnitud.
Por ejemplo, el número decimal positivo +25 se escribe usando
8-bits como 00011001 (forma real).

bit de Signo bits de Magnitud


El -25 se expresa como 10011001 (forma real).

bit de Signo bits de Magnitud


FORMATO DEL COMPLEMENTO A 1
● Los números positivos en formato de complemento a 1 se representan igual
que los números positivos del formato signo-magnitud. Sin embargo, los
números negativos son el complemento a 1 del correspondiente número
positivo.

Por ejemplo, con ocho bits, el número decimal -25 se expresa


como el complemento a 1 de +25 (00011001) como 11100110.

“En formato complemento a 1, un número


negativo es el complemento a 1 del
correspondiente número positivo”
FORMATO DEL COMPLEMENTO A 2
● Los números positivos en formato de complemento a 2 se representan igual
que los números positivos del formato signo-magnitud y complemento a 1.
Sin embargo, los números negativos son el complemento a 2 del
correspondiente número positivo.

Por ejemplo, con ocho bits, el número decimal -25 se expresa


como el complemento a 2 de +25 (00011001) como 11100111.

“En formato complemento a 2, un número


negativo es el complemento a 2 del
correspondiente número positivo”
VALOR DECIMAL DE LOS NÚMEROS CON SIGNO
● Signo y magnitud. Los valores decimales de los números positivos y
negativos en el formato signo-magnitud se determinan sumando los pesos
de todas las posiciones de los bits de magnitud que tienen 1 e ignorando
las posiciones donde haya ceros. El signo se determina examinando el bit
de signo.

Determinar el valor decimal del número binario con signo


expresado como signo-magnitud 10010101:

Pesos de columnas: 64 32 16 8 4 2 1.
0 0 1 0 1 0 1
16 + 4 + 1 = -21
VALOR DECIMAL DE LOS NÚMEROS CON SIGNO
● Complemento a 1. Los valores decimales de los números positivos se
determinan sumando los pesos de todas las posiciones de los bits de
magnitud que tienen 1 e ignorando las posiciones donde haya ceros. Los
números negativos se determinan asignando el valor negativo al peso del
bit de signo, y sumando todos los pesos donde haya 1s y sumando 1 al
resultado.

Determinar los valores decimales de los números


binarios con signo expresados en complemento a 1:
a) 00010111
b) 11101000
VALOR DECIMAL DE LOS NÚMEROS CON SIGNO
● Complemento a 2. Los valores decimales de los números positivos se
determinan sumando los pesos de todas las posiciones de los bits de
magnitud que tienen 1 e ignorando las posiciones donde haya ceros. El
peso del bit de signo en un número negativo viene dado por su valor
negativo.

Determinar los valores decimales de los números


binarios con signo expresados en complemento a 2:
a) 01010110
b) 10101010
RANGO DE REPRESENTACIÓN DE LOS NÚMEROS CON SIGNO
● En la mayoría de los ejemplos se han utilizado números de 8 bits, puesto
que la agrupación de 8 bits es un estándar en la mayoría de los sistemas
digitales y recibe el nombre de byte.

● Con 8 bits se pueden representar 256 números diferentes.

● Combinando 2 bytes (16 bits) se pueden representar 65.536 números


diferentes.

● Combinando 4 bytes (32 bits) se pueden representar 4.295x109 números


diferentes.

● Y así sucesivamente …….


RANGO DE REPRESENTACIÓN DE LOS NÚMEROS CON SIGNO
● La fórmula para calcular el número de combinaciones diferentes es:

Número total de combinaciones = 2n

● Para los números con signo en complemento a 2, el rango de valores para


números de n bits es:

-(2n-1) a +(2n-1-1)

● Habiendo en cada caso un bit de signo y n-1 bits de magnitud. Por ejemplo,
con cuatro bits pueden representarse números en complemento a 2 en el
rango de –(23) = -8 hasta +(23 - 1) = +7. Igualmente, con ocho bits, se
pueden abarcar desde -128 hasta +127; con 16 bits se puede ir desde -
32.768 a 32.767, y así sucesivamente …
NÚMEROS EN COMA FLOTANTE
● Para representar números enteros muy grandes, son necesarios muchos
bits. También se producen problemas cuando queremos representar
números con parte fraccionaria, tal como 23,5618.

● El número en coma flotante (también conocido como número real) tiene


dos partes más un signo. La mantisa que representa la magnitud del
número. El exponente que representa el número de lugares que se va a
desplazar el punto decimal (o binario).

● Por ejemplo el número decimal 241.506.800 puede ser reescrito en


formato de coma flotante tomando 0,2415068 como mantisa y 9 como
exponente. Queda finalmente:

0,2415068 x 109
NÚMEROS EN COMA FLOTANTE
● Para los números en coma flotante binarios, el formato definido por el
estándar 754/1985 ANSI/IEEE puede tomar tres formas: simple precisión
(compuesto por 32 bits), doble precisión (compuesto por 64 bits) y
precisión ampliada (80 bits).

● Restringiremos la explicación al formato en coma flotante de precisión


simple el cual se ilustra a continuación.

S E (8 bits) F (23 bits)


Bit de signo Mantisa (parte fraccionaria, F)
Exponente
desplazado (E) (+127)
NÚMEROS EN COMA FLOTANTE
● Un ejemplo para ilustrar como un número binario se expresa en formato de
coma flotante: 1011010010001.
NÚMEROS EN COMA FLOTANTE

Expresar la velocidad de la luz, c, en notación de punto flotante


de precisión simple binario. (c = 0.2998 x 109)

En binario, c = 0001 0001 1101 1110 1001 0101 1100 0000 2.


En notación científica, c = 1.0001 1101 1110 1001 0101 1100 0000 x 228.

S = 0 porque el número es positivo. E = 28 + 127 = 15510 = 1001 10112.


F son los siguientes 23 bits descartando el primer 1.

En notación de punto flotante, c = 0 10011011 0001 1101 1110 1001 0101 110
NÚMEROS EN COMA FLOTANTE
● Para evaluar un número binario que ya está en formato de coma flotante
se utiliza la siguiente fórmula.

Número = (-1)S(1 + F)(2E-127)

● Por ejemplo, consideremos el siguiente número binario en coma flotante.

1 10010001 1000 1110 0010 0000 0000 000

● El bit de signo es 1. El exponente desplazado es 10010001 = 145. Aplicando


la fórmula, obtenemos

Número = (-1)1(1.10001110001)(2145-127)
= (-1)(1.10001110001)(218) = -1100011100010000000

Este número es equivalente al -407.688 en decimal.


OPERACIONES ARITMÉTICAS DE NÚMEROS CON SIGNO
● Hemos aprendido como se representan, en tres formatos diferentes, los
números con signo. Ahora, estudiaremos como se suman, restan,
multiplican y dividen estos números.

● Dado que el complemento a 2 es el sistema de representación de números


con signo más ampliamente utilizado en las computadoras y
microprocesadores, en lo sucesivo veremos la aritmética de números con
signo en complemento a 2.

● Los procedimientos que veremos pueden perfectamente extenderse a los


demás sistemas.
SUMA
● Los dos números en una suma se denominan sumandos. El resultado es la
suma. Cuando se suman dos números binarios con signo pueden producirse
cuatro casos:

1. Ambos números son positivos.


2. El número positivo es mayor que el negativo en valor absoluto.
3. El número negativo es mayor que el positivo en valor absoluto.
4. Ambos números son negativos.

● Ahora veremos caso por caso, utilizando números de 8 bits como ejemplo.
Se pondrán como referencia los números decimales equivalentes.
SUMA
● Caso 1: Ambos números son positivos.

01 0 0
00000111 7 La suma es positiva y, por tanto,
+ 00000100 4 es un número binario real (no
complementado).
000 010 11 = 11

● Caso 2: El número positivo es mayor que el número negativo en


valor absoluto.
11111 1 0
00001111 15 El bit de acarreo final no se tiene
en cuenta. La suma es positiva y,
+ 11111010 + -6 por tanto, es un número binario real
Descartar acarreo 1 000010 01 = 9 (no complementado).
SUMA
● Caso 3: El número negativo es mayor que el número positivo en
valor absoluto.
0000 00 0
00010000 16 La suma es negativa y, por tanto,
+ 11101000 + -24 está en complemento a 2.
111110 00 = -8
● Caso 4: Ambos números son negativos.
11111 1 1 El bit de acarreo final no se tiene en
11111011 -5 cuenta. La suma es negativa y, por
+ 11110111 + -9 tanto, está en complemento a 2.
Descartar acarreo 1 111100 10 = -14
● En una computadora, los números negativos se almacenan en formato
complemento a 2, por lo que, como se pudo apreciar, el procedimiento de
suma es muy sencillo:
“sumar los dos números y descartar cualquier bit de acarreo final”
CONDICIÓN DE DESBORDAMIENTO (OVERFLOW)
● Cuando se suman dos números y el número de bits requeridos para
representar la suma excede el número de bits de los dos números, se
produce un desbordamiento, que se indica mediante un bit de signo
incorrecto.
● NOTA: Un desbordamiento se produce sólo cuando ambos números son
positivos o negativos.
11110 0 0
01111101 +125 Ejemplo de desbordamiento con
+ 00111010 + 58 números de 8 bits.
Signo y magnitud 101101 11 = 183
incorrecta

● En el ejemplo anterior, la suma 183 requiere 8 bits de magnitud. Puesto


que los números tienen sólo 7 bits de magnitud, se produce un acarreo en
el bit de signo que da lugar a la indicación de desbordamiento.
RESTA
● La resta es un caso especial de la suma. Por ejemplo: restar +6 (el
sustraendo) de +9 (el minuendo) es equivalente a sumar -6 a +9.

● Básicamente, la operación de resta consiste en cambiar el signo del


sustraendo y sumarlo al minuendo. El resultado de una resta se denomina
diferencia.

● El signo de un número binario positivo o negativo se cambia tomando su


complemento a 2.

● Puesto que la sustracción o resta es simplemente una suma con el signo


del sustraendo cambiado, el proceso se define del siguiente modo:

“Para restar dos números con signo, se calcula el complemento a 2 del


sustraendo y se suman. Cualquier bit de acarreo final se descarta”.
RESTA
MULTIPLICACIÓN
● Los números en una multiplicación se denominan multiplicando,
multiplicador y producto. La siguiente multiplicación decimal ilustra estos
términos.

● Comúnmente, la operación de multiplicación se realiza utilizando la suma.


(Recordar que la resta igual se hace como una suma).

● Existen dos métodos para realizar la multiplicación de números con signo.


Ellos son:

1. El método de la suma directa.


2. El método de los productos parciales.
MULTIPLICACIÓN
● Método 1. En el método de la suma directa, se suma el multiplicando un
número de veces igual al multiplicador. Método no eficiente ya que si el
multiplicador es muy grande, la suma será muy larga.

● Método 2. El método de los productos parciales es el más común ya que es


la forma de multiplicar manualmente. El signo del producto de una
multiplicación depende de los signos del multiplicando y del multiplicador,
de acuerdo con las dos reglas siguientes:

 Si son del mismo signo, el producto es positivo.


 Si son de diferente signo, el producto es negativo.
MULTIPLICACIÓN
● El procedimiento del método se resume a continuación:
1. Paso 1. Determinar si los signos del multiplicando y el multiplicador son
diferentes. Así determinamos el signo del producto.
2. Paso 2. Poner cualquier número negativo en formato real (no
complementado). Puesto que la mayoría de las computadoras almacenan los
números negativos en complemento a 2, se requiere esta operación para
obtener el número negativo en formato real.

3. Paso 3. Empezar por el bit del multiplicador menos significativo y generar los
productos parciales. Cada producto parcial debe desplazarse un bit a la
izquierda.

4. Paso 4. Sumar cada producto parcial a la suma de los productos parciales


anteriores para obtener el producto final.
5. Paso 5. Si el bit de signo que se había determinado en el paso 1 es negativo,
calcular el complemento a 2 del producto. Si es positivo, dejarlo en formato
real. Añadir el bit de signo al producto.
MULTIPLICACIÓN
● Multiplicar los siguientes números con signo:

1. 01010011 (multiplicando) – 11000101 (multiplicador).

2. Verificar que la multiplicación es correcta convirtiendo los binarios a


decimales y realizando la multiplicación.
MULTIPLICACIÓN
MULTIPLICACIÓN
DIVISIÓN
● Los números en una división se denominan dividendo, divisor y cociente.

● En los computadores, la operación de división se lleva a cabo usando la


resta. Puesto que la resta se puede realizar como una suma, la división
también se puede llevar a cabo con un sumador.

● El signo del cociente depende de los signos del dividendo y del divisor, de
acuerdo con las dos reglas siguientes:

1. Si son del mismo signo, el cociente es positivo.


2. Si son de diferente signo, el cociente es negativo.
DIVISIÓN
● El procedimiento para dividir dos números se resume a continuación:
1. Paso 1. Determinar si los signos del dividendo y el divisor son
diferentes. Esto determina que signo tendrá el cociente. Inicializar el
cociente a cero.
2. Paso 2. Restar el divisor del dividendo utilizando la suma en
complemento a 2, para obtener el primer resto parcial, y sumar 1 al
cociente. Si este resto parcial es positivo, ir al paso 3. Si el resto
parcial es cero o negativo, la división se ha terminado.
3. Paso 3. Restar el divisor del resto parcial y sumar 1 al cociente. Si el
resultado es positivo, repetir el siguiente resto parcial. Si el resultado
es cero o negativo, la división se ha terminado.

Continuar restando el divisor del dividendo y los restos parciales hasta que
el resultado sea cero o negativo. Contar el número de veces que se ha
restado el divisor y se obtendrá el cociente.
DIVISIÓN
● Dividir los siguientes números con signo:

1. 01100100 (dividendo) – 00011001 (divisor).

2. Verificar que la división es correcta convirtiendo los binarios a


decimales y realizando la división.
DIVISIÓN
DIVISIÓN
NÚMEROS HEXADECIMALES
● El sistema de numeración hexadecimal consta de dieciséis dígitos y se usan
fundamentalmente como una forma simplificada de representar o escribir
los números binarios, ya que es muy fácil la conversión entre binario y
hexadecimal.

● Los números binarios largos son difíciles de leer y escribir, ya que es fácil
omitir o trasponer un bit. La representación hexadecimal ayuda a
solventar esta limitante al reducir la cantidad de símbolos en la notación.

● El sistema hexadecimal se usa frecuentemente en computadoras y


aplicaciones de microprocesadores.
NÚMEROS HEXADECIMALES Decimal Hexadecimal Binario
0 0 0000
● La representación Hexadecimal usa 1 1 0001
dieciséis caracteres para representar 2 2 0010
números: los números del 0 al 9 y los 3 3 0011
caracteres alfabéticos de la A a la F. 4 4 0100
5 5 0101
● Para contar en hexadecimal por sobre la 6 6 0110
F, sencillamente se inicia otra columna y 7 7 0111
se continúa de la siguiente manera. 8 8 1000
9 9 1001
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 10 A 1010
1C, 1D, 1E, 1F, 20, 21, 22, …. 11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
CONVERSIÓN BINARIO - HEXADECIMAL
● La conversión de un número binario en hexadecimal es un procedimiento
muy sencillo. Simplemente, se parte el número binario en grupos de 4 bits,
comenzando por el bit más a la derecha, y se reemplaza cada grupo de 4 bits
por su símbolo hexadecimal equivalente, como ilustra abajo.

1100 1010 0101 01112 0011 1111 0001 0110 10012

C A 5 7 = CA5716 3 F 1 6 9 = 3F16916

CONVERSIÓN HEXADECIMAL - BINARIO


● Para convertir un número hexadecimal en un número binario se realiza el
proceso inverso, reemplazando cada símbolo hexadecimal por el grupo de
cuatro bits adecuado.
1 0 A 4

1 0000 0101 01002


CONVERSIÓN HEXADECIMAL - DECIMAL
● Un método para encontrar el equivalente decimal de un número
hexadecimal es, primero, convertir el hexadecimal a binario y luego el
binario a decimal. Abajo se ilustra un ejemplo.
1 C

0001 11002 = 24 + 23 + 22 = 16 + 8 + 4 = 2810


● Otro método para convertir un número hexadecimal a su equivalente
decimal es multiplicar el valor decimal de cada dígito hexadecimal por su
peso, y finalmente, realizar la suma de estos productos.

B2F816 = (Bx4096) + (2x256) + (Fx16) + (8x1)


= (11x4096) + (2x256) + (15x16) + (8x1)
= 45056 + 512 + 240 + 8 = 4581610
CONVERSIÓN DECIMAL - HEXADECIMAL
● Al igual que la conversión de decimal a binario, el método de la división
sucesiva por 2 se puede extender a cualquier base. En este caso, la división
sucesiva por 16 de un número decimal generará el número hexadecimal
equivalente formado por los restos de las divisiones. A continuación vemos
como convertir el decimal 650 en hexadecimal.

650/16 = 40,625 0,625 x 16 = 10 =A LSB


40/16 = 2,5 0,5 x 16 = 8 =8
2/16 = 0,125 0,125 x 16 = 2 =2

Resultado final = 2 8 A
SUMA HEXADECIMAL
● Cuando se suman dos números hexadecimales se usan las siguientes reglas:

1. En cualquier columna dada de una suma, pensar en los dos dígitos


hexadecimales en términos de su valor decimal. Por ejemplo, 516 = 510,
C16 = 1210.

2. Si la suma de los dos dígitos es 1510 o menor, reducir al dígito


hexadecimal correspondiente.

3. Si la suma de los dígitos es mayor que 1510, hay que reducir la suma
que excede de 1610 y pasar el acarreo de 1 a la siguiente columna.
SUMA HEXADECIMAL
RESTA HEXADECIMAL USANDO COMPLEMENTO A 2
● Como ya se sabe, el complemento a 2 permite restar sumando números
binarios. Este método también aplica a la resta en hexadecimal.
NÚMEROS OCTALES Decimal Octal Binario
0 0 0000
● Octal usa ocho caracteres, los números
1 1 0001
del 0 al 7 para representar los números.
2 2 0010
No existe el caracter 8 o 9 en octal.
3 3 0011
4 4 0100
● Los números binarios se pueden convertir
5 5 0101
fácilmente a octal al agrupar bits de a 3 y
6 6 0110
escribiendo el carácter octal equivalente
7 7 0111
para cada grupo.
8 10 1000
9 11 1001
Expresar 1 001 011 000 001 1102 en 10 12 1010
octal: 11 13 1011
12 14 1100
Agrupar los números binarios de a 3- 13 15 1101
bits comenzando desde la derecha. 14 16 1110
De esta manera, 1130168 15 17 1111
NÚMEROS OCTALES Decimal Octal Binario
0 0 0000
● Octal también es un sistema de
1 1 0001
numeración ponderado. Los pesos de las
2 2 0010
columnas son potencias de 8, las cuales se
3 3 0011
incrementan de derecha a izquierda.
4 4 0100
5 5 0101
Pesos de columna { 83 82 81 80
512 64 8 1
.
.
6
7
6
7
0110
0111
8 10 1000
9 11 1001
Expresar 37028 en decimal. 10 12 1010
Comenzar por escribir los pesos de las columnas: 11 13 1011
512 64 8 1 12 14 1100
13 15 1101
3 7 0 28 14 16 1110
3(512) + 7(64) +0(8) +2(1) = 198610 15 17 1111
Decimal Binario BCD
CÓDIGO DECIMAL BINARIO (BCD)
0 0000 0000
● El código decimal binario (BCD) es un 1 0001 0001
código ponderado que se utiliza 2 0010 0010
comúnmente en sistemas digitales cuando 3 0011 0011
se necesita mostrar números decimales 4 0100 0100
tal como un display de reloj. 5 0101 0101
6 0110 0110
● La tabla ilustra la diferencia entre binario 7 0111 0111
directo y BCD. BCD representa cada dígito 8 1000 1000
decimal con un código de 4-bit. Observe 9 1001 1001
que los códigos desde el 1010 al 1111 no 10 1010 0001 0000
se utilizan en BCD, es decir, son códigos 11 1011 0001 0001
no válidos. 12 1100 0001 0010
13 1101 0001 0011
14 1110 0001 0100
15 1111 0001 0101
CÓDIGO DECIMAL BINARIO (BCD)
● Aquí se muestra un experimento de
laboratorio en el cual el código BCD se
convierte a decimal.
CÓDIGO DECIMAL BINARIO (BCD)
● Se puede pensar en BCD en términos de los pesos de las columnas en grupos
de a cuatro bits. Para un número BCD de 8-bit, los pesos de las columnas
son: 80 40 20 10 8 4 2 1.

¿Cuáles son los pesos de las columnas para el


número BCD 1000 0011 0101 1001?

8000 4000 2000 1000 800 400 200 100 80 40 20 10 8 4 2 1

Observe que se podría agregar los pesos de las columnas donde


hay un 1 para obtener el número decimal equivalente. Para
este caso:
8000 + 200 +100 + 40 + 10 + 8 +1 = 835910
CONVERSIÓN DECIMAL a BCD
● Para expresar cualquier número decimal en BCD, simplemente reemplazar
cada dígito decimal por el apropiado código de 4 bits.
CONVERSIÓN BCD a DECIMAL
● Para expresar cualquier número BCD en decimal, simplemente se comienza
por el bit más a la derecha y se divide el código en grupos de a cuatro.
Luego, se escribe el dígito decimal representado por cada grupo.
SUMA EN BCD
● BCD es un código numérico y puede utilizarse en operaciones aritméticas.

● Veremos sólo la suma en BCD ya que las otras tres operaciones pueden
llevarse a cabo utilizando la suma. Los pasos son los siguientes:
1. Paso 1. Sumar los dos números BCD utilizando las reglas de la suma
binaria vistas en las clases anteriores.
2. Paso 2. Si una suma de 4 bits es igual o menor que 9, es un número BCD
válido.
3. Paso 3. Si una suma de 4 bits es mayor que 9, o si genera un acarreo en
el grupo de 4 bits, el resultado no es válido. En este caso, se suma 6
(0110) al grupo de 4 bits para saltar así los seis estados no válidos y
pasar al código BCD. Si se genera un acarreo al sumar 6, este se suma
al grupo de 4 bits siguientes.
SUMA EN BCD
● Ejemplo sin acarreos…
SUMA EN BCD
● Ejemplos con acarreos …
Decimal Binario Cod. Gray
CÓDIGO GRAY 0 0000 0000
● El código Gray es un código sin 1 0001 0001
ponderación que cambia sólo un bit 2 0010 0011
entre una palabra de código y la 3 0011 0010
siguiente en una secuencia. 4 0100 0110
5 0101 0111
● El código Gray se utiliza para evitar 6 0110 0101
problemas en sistemas donde un error 7 0111 0100
puede ocurrir si más de un bit cambia 8 1000 1100
en una transición en secuencia. 9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
CÓDIGO GRAY
● Un mecanismo codificador de eje es una aplicación típica. Tres
detectores/emisores de infrarrojo IR se utilizan para codificar la posición
del mecanismo. El codificador de la izquierda usa codificación binaria y
puede tener 3-bits que cambian a la vez, lo cual genera una potencial
fuente error. El codificador de la derecha usa código gray y solamente
cambia 1-bit en cada transición, eliminando los errores del sistema.

Secuencia binaria
Secuencia cód. Gray
CÓDIGO ASCII
● ASCII es un código de caracteres alfanuméricos y caracteres de control.

● En su forma original, ASCII codifica 128 caracteres y símbolos usando 7


bits. Los primeros 32 caracteres son caracteres de control, que fueron
originalmente requeridos para sistemas teletipo. Hoy en día, estos
caracteres están generalmente asignados a otras funciones más modernas.

● En 1981, IBM introdujo el código ASCII extendido, el cual es un código de


8-bit y se aumento entonces el conjunto de caracteres a 256. Otros
conjuntos de caracteres extendidos (tal como Unicode) se han introducido
para manejar caracteres que entiendan lenguajes distintos al Inglés.
CÓDIGO ASCII
DETECCIÓN DE ERRORES Y CÓDIGOS DE CORRECCIÓN
● Se abordarán dos métodos para sumar bits a códigos para detectar o para
detectar y corregir un error en un único bit.

1. El primero de ellos es el método de paridad para la detección de


errores.

2. El segundo es el método de Hamming para detección y corrección de


un único error.
MÉTODO DE PARIDAD PARA LA DETECCIÓN DE ERRORES
● El método de paridad es un método de detección de error para sistemas de
transmisión simples que involucran errores de un bit (o un número impar de
bits).

● Un bit de paridad es un bit “extra” que se adjunta o añade a un grupo de


bits para forzar el número de 1’s a ser par (paridad par) o impar (paridad
impar).

● Un determinado sistema puede funcionar con paridad par o impar, pero no


con ambas. Por ejemplo, si un sistema trabaja con paridad par, una
comprobación que se realice en cada grupo de bits recibidos tiene que
asegurar que el número total de 1s en es grupo es par. Si hay un número
impar de 1s, quiere decir que se ha producido un error.
MÉTODO DE PARIDAD PARA LA DETECCIÓN DE ERRORES
● Detección del un error. Un bit de paridad facilita la detección de un único
error de bit (o de cualquier número impar de errores, lo cual es muy
improbable), pero no puede detectar dos errores dentro de un grupo.
● Ejemplo. Si queremos transmitir el código BCD 0101. El código total
transmitido incluyendo el bit de paridad par es:
Bit de paridad par 0 0101
Código BCD
● Si se produce un error en el tercer bit de la izquierda (el 1 se transmite
como 0).
Bit de paridad par 0 0001
Bit erróneo

Cuando se recibe este código, la circuitería de comprobación de paridad determina que sólo
hay un 1 (impar), cuando debería haber un número par de 1s. Puesto que en el código
recibido no aparece un número par de 1s, esto indica que se ha producido un error.
MÉTODO DE PARIDAD PARA LA DETECCIÓN DE ERRORES
EL CÓDIGO DE HAMMING DE CORRECCIÓN DE ERRORES
● El código Hamming sirve no solo para detectar un error si no también
proporciona un método de corrección de un único bit erróneo.

● Un código Hamming para detección de errores en un grupo de datos se


construye llevando a cabo tres procesos en secuencia:

1. Número de bits de paridad.


2. Colocación de bits de paridad en el código.
3. Asignación de los valores de los bits de paridad.
EL CÓDIGO DE HAMMING DE CORRECCIÓN DE ERRORES
● Número de bits de paridad. Si el número de bits de datos se designa por d,
entonces el número de bits de paridad, p, se determina mediante la
siguiente expresión: p
2  d  p 1
● Colocación de los bits de paridad en el código. Los bits de paridad se
sitúan en las posiciones que se han numerado haciéndolas corresponder
con las potencias de dos en sentido ascendente(1,2,4,8,…) como sigue:
P1 , P2 , D1 , P3 , D2 , D3 , D4
● Asignación de los valores de los bits de paridad. Para terminar, hay que
asignar apropiadamente un valor de 1 o de 0 a cada uno de los bits de
paridad. Para ello se debe confeccionar la tabla siguiente:
EL CÓDIGO DE HAMMING DE CORRECCIÓN DE ERRORES
COMO DETECTAR Y CORREGIR UN ERROR CON HAMMING
● Paso 1. Comenzar con el grupo comprobado por P1.

● Paso 2. Comprobar si el grupo tiene paridad correcta. Un 0 representa que


la comprobación de paridad es correcta y un 1 que es incorrecta.

● Paso 3. Repita el paso 2 para cada grupo de paridad.

● Paso 4. El número binario formado por los resultados de todas las


comprobaciones de paridad indica la posición del bit del código que es
erróneo. Es el código de posición de error. La primera comprobación de
paridad genera el bit menos significativo (LSB). Si todas las
comprobaciones son correctas, no habrá error.
COMO DETECTAR Y CORREGIR UN ERROR CON HAMMING
COMO DETECTAR Y CORREGIR UN ERROR CON HAMMING
PALABRAS CLAVES DE LA UNIDAD
Byte Un grupo de ocho bits

Número en Una representación de números basada en notación


punto flotante científica en la que el número se compone de un
exponente y una mantisa.

Hexadecimal Un sistema numérico en base 16.

Octal Un sistema numérico en base 8.

BCD Decimal codificado en binario; un código digital en el


que cada uno de los dígitos decimales, del 0 al 9, se
representa por un grupo de cuatro bits.
PALABRAS CLAVES DE LA UNIDAD
Alfanumérico Consistente en números, letras u otros
caracteres.

ASCII Código estándar americano para el


intercambio de información; es el código
alfanumérico más ampliamente utilizado.

Paridad En relación a los códigos binarios, la condición


de paridad par o impar está en el número de
1s en un grupo de código.

Comprobación de la Un tipo de código de detección de errores.


redundancia cíclica (CRC)
CONCLUSIONES DE LA UNIDAD
● Vimos los distintos tipos de representación numérica, especialmente los
sistema de numeración posicional caracterizado por los pesos de los dígitos
según la posición que adoptan en el número.

● Vimos como convertir números representados en un sistema de numeración a


otro. Especialmente, vimos los sistemas decimal, binario, hexadecimal y
octal.

● Vimos la aritmética asociada a cada uno de estos sistemas de representación


con números en formato real y formato con signo.

● Vimos la estructura de los códigos binarios más utilizados en sistemas


digitales. Estos son: código BCD (8421), GRAY y ASCII.

● Vimos un método para comprobar o detectar posibles errores de transmisión


en números binarios y la manera de corregirlos.
BIBLIOGRAFÍA

Libro base: “Fundamentos de Sistemas Digitales”. Autor: Tomas L. Floyd.


Libro complemento: “Principios de Diseño Digital”. Autor: Daniel D. Gaski.

También podría gustarte