Está en la página 1de 10

Unidad I – Sistemas de Numeración

Clase #5 – Códigos Binarios


Lógica Digital
Prof. Ricardo Villegas
Contenido
 Códigos Binarios:
– BCD 8421
• Operaciones aritméticas en BCD
– Código Gray
– Código ASCII
 Representación de números reales binarios
con punto flotante
Códigos Binarios
 Necesidad de representar números o caracteres en forma más apropiada
para algún tipo de problema o aplicación.
 En los códigos binarios existen cadenas de n bits o palabras que van a
representar un número de acuerdo con un criterio establecido.

Representación binaria de números decimales


Las cadenas de bits representan un dígito decimal (0,…,9)

Código BCD 8421

 BCD ∼ Binary Coded Decimal


 Los dígitos del 0 al 9 van a ser representados por una palabra de 4 bits.

0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001

 Las restantes 6 combinaciones no se usan: 1010, 1011, 1100, 1101, 1110, 1111
 A cada dígito de un número decimal le corresponde una palabra BCD
Decimal BCD 8421 Ejemplos:
62310 ≈ 0110 0010 0011BCD
0 0000
1974510 ≈ 0001 1001 0111 0100 0101BCD
1 0001
2 0010 Ejemplo:
3 0011 2410 ≈ 110002
≈ 0010 0100BCD
4 0100
5 0101 Puede observarse la diferencia entre la representación
de un número decimal en binario puro (potencias de
6 0110
dos) y BCD (palabras binarias de 4 bits por dígito)
7 0111
8 1000
9 1001 • Solo codifica números positivos.
• BCD tiene fácil representación y correspondencia directa con
el sistema decimal (una palabra por dígito representado), pero
requiere mayor cantidad de bits;
Operaciones Aritméticas en BCD
Suma
 Se suman entre sí las, por columnas, las palabras BCD correspondientes a cada
dígito decimal en forma similar a la suma en decimal.
 Si el resultado de sumar dos palabras BCD produce un acarreo, este se acumula
para el siguiente grupo de palabras a sumar.
 Si la suma de dos palabras BCD produce acarreo o excede de 9 (1001), se debe
adicionar a esa suma parcial el valor 6 (0110).
• Si al sumar 6 hay acarreo, se acumula para el siguiente grupo de palabras a
sumar.
Ejemplos: 69410 + 82310 = 151710

3510 + 2410 = 5910 5810 + 1810 = 7610 7210 + 1910 = 9110 0110 1001 0100BCD
1 + 1000 0010 0011BCD
0011 0101BCD 0101 1000BCD 0111 0010BCD 1
+ 0010 0100BCD + 0001 1000BCD + 0001 1001BCD 1110 1011 0111BCD
+ 1 0110BCD
0110 0000BCD 1
0101 1001BCD 1000 1011BCD 11111 0001
+ 1 0110BCD + 1 0110BCD BCD
+ 1 0110BCD
0111 0110BCD 1001 0001BCD 0001 0101BCD

0001 0101 0001 0111BCD


Operaciones Aritméticas en BCD
Resta
 Se restan pares de palabras, por columnas.
 Si un grupo de palabras requiere un préstamo de otro grupo de palabras, se
resta 6 (0110) a la columna de palabras que pidió el préstamo.

Ejemplos:
También es posible restar dos números
5910 - 2410 = 3510 6110 - 5710 = 410 BCD con la técnica de resta con C10

1 7010 - 3610 = 7010 + C10(3610)


0101 1001BCD
0110 0001BCD = 7010 + 6410 = 13410 ≈ 3410
- 0010 0100BCD
- 0101 0111BCD
0011 0101BCD 1
0000 1010BCD 0111 0000BCD
- 0110BCD + 0110 0100BCD
0100BCD 1101 0100BCD
+ 0110BCD

1 0011BCD

0011 0100BCD
Ejemplo: para n = 4 bits
Decimal Binario Gray Código Gray
0 0000 0000  Código no analítico → no se realizan operaciones
1 0001 0001 aritméticas.
2 0010 0011  Palabras de n bits.
 Distancia unitaria entre números consecutivos → solo
3 0011 0010
cambia un bit.
4 0100 0110  Utilizado para establecer condiciones normales de
5 0101 0111 operación en dispositivos electro-mecánicos, para evitar
6 0110 0101 ambigüedades de interpretación, o para establecer
7 0111 0100
recorridos de estados con distancia unitaria.
8 1000 1100 + + + + +

9 1001 1101
Conversión Binario a Gray Bin 1 0 1 1 0 12
MSBGray = MSB2 (copiar)
10 1010 1111
bit(i)Gray = bit(i-1)2 + bit(i)2 Gray 1 1 1 0 1 1Gray
11 1011 1110
12 1100 1010
13 1101 1011 Conversión Gray a Binario Gray 1 1 1 0 1 12
MSB2 = MSBGray (copiar) + + + + +
14 1110 1001
bit(i)2 = bit(i-1)2 + bit(i)Gray Bin 1 0 1 1 0 1Gray
15 1111 1000
Código ASCII
 ASCII → American Standard Code for Information Interchange
 Código no analítico.
 Creado para representación e intercambio de información.
 Utilizado por los computadores modernos para representar letras, números y caracteres
especiales mediante una tabla de símbolos.

Standard ∼27 = 128 símbolos → 7 bits


Conjuntos
Extendido ∼28 = 256 símbolos → 8 bits; 1 byte

Símbolo #binario Hex Para el conjunto extendido que representa símbolos con 8
0 00110000 30h bits, los caracteres que representan los números del 0 al 9
se encuentran ubicados dentro de la tabla en las filas con
1 00110001 31h posiciones del 001100002 al 001110012 ; el código funciona
como un índice dentro de la tabla donde se ubica el símbolo
… … … de interés.
9 00111001 39h Ejemplo:
001100012 → el caracter “1”
Representación de Números Reales en Binario

Punto Flotante
Un número real puede expresarse en notación de punto flotante mediante la
expresión:
p
b = base
N = ± d.dd…d x be e = exponente
≈ ± d0.d1d2…dp-1 x be
p = precisión de la
mantisa
Ejemplos:
• Si b=10 y p=3: 0.110 ≈ 1.00 x 10-1

• Si b=2 y p=24: 0.110 ≈ 1.10011001100110011001101 x 2-4 (usando conversión a binario)

En la notación de punto flotante, el punto decimal se desplaza hacia una


posición en que existe un primer dígito significativo diferente de cero, lo cual
determina el valor del exponente.
• En binario, el punto se desplaza hasta que la parte entera sea un 1
Estándar IEEE 754
 El estándar IEEE 754 define la representación de números de punto flotante en
precisión simple y doble. (https://es.wikipedia.org/wiki/IEEE_754)
 Similar a establecer un código con palabras de 32 o 64 bits dependiendo de la
precisión.

Precisión Simple – 32 bits Ejemplo:


1 8 23 Representar en precisión simple
s exp mantisa N = s x m x 2e N = -118.62510
31 30 23 22 0 s = 1 (-)
exp = e + 127 -118.62510 ≈ 1110110.1012
0∼+ ≈ 1.110110101 x 26
s exponente desplazado en
1∼- 127 para representar por m
igual exponentes positivos
m = 1.fracción2 y negativos con 8 bits m = 110110101000000000000002
e = 6; exp = 6 + 127 = 133 ≈ 100001012
Precisión Doble – 64 bits
1 11 52
N = 1 10000101 110110101000000000000002
s exp mantisa
63 62 52 51 0

e + 1023 (desplazamiento)

También podría gustarte