Sunteți pe pagina 1din 66

Circuitos Digitales: 2017-2

- Capítulo 2 -

Sistemas de Numeración y
Codificación
Prof. Oscar E. Ramos, Ph.D.

(29 de agosto del 2017)


¿LiFi?

https://youtu.be/FbDohcbuhu0

2
Contenido

1. Sistemas de Numeración

2. Conversiones entre sistemas de numeración

3. Aritmética binaria

4. Complementos de números

5. Números binarios con signo

6. Operaciones con números con signo

7. Códigos digitales

3
Sistemas de Numeración

Sistema no
posicional

https://www.britannica.com/topic/numeral
4
Sistemas de Numeración

• Son conjuntos de símbolos y reglas para manejar números

• Tipos de sistemas de numeración:


a) No posicionales
• La posición del dígito no cambia su valor
• Ejemplo: sistema de números romanos, sistema de números hebreos
b) Posicionales
• El valor del dígito varía según su posición
• Ejemplos: sistemas en base r (donde r = 10, 2, 16, 8, etc.)

• “Normalmente” usamos el sistema de numeración decimal (base 10)

• En sistemas digitales los más importantes son:


- Binario (base 2)
- Hexadecimal (base 16)
- Octal (base 8)

5
Sistemas de Numeración
a) Sistema Decimal

• Está basado en diez dígitos:

• Notación posicional:
- La posición de cada dígito tiene un peso específico (potencias de 10)
 a3 a2 a1a0 . a1a2 a3 
equivalente
a
  103 a3  102 a2  101 a1  100 a0  101 a1  10 2 a2  103 a3  

- Ejemplo:
El número decimal 231.5710 es equivalente a:

231.57 = 2x102 + 3x101 + 1x100 + 5x10-1 + 7x10-2


= 2x100 + 3x10 + 1x1 + 5x0.1 + 7x0.01
= 200 + 30 + 1 + 0.5 + 0.07
6
Sistemas de Numeración
a) Sistema Decimal

- Ejemplo:
Expresar 480.5210 como la suma ponderada de los valores de cada dígito

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


= (4 x 100) + (8 x 10) + (0 x 1) + (5 x 0.1) + (2 x 0.01)
= 400 + 80 + 0 + 0.5 + 0.02

• Nota: para el sistema decimal se suele usar el subíndice 10

• El sistema decimal agrupa elementos de 10 en 10


- ¿Por qué agrupar de 10 en 10?
- ¿Costumbre?
- ¿Facilidad?

7
Sistemas de Numeración
b) Sistema Binario

¿Por qué se asustó?

https://youtu.be/_4TPlwwHM8Q

8
Sistemas de Numeración
b) Sistema Binario

• Está basado en 2 dígitos: 0 y 1

• Con “n” bits (dígitos binarios) se puede


contar de 0 hasta:
2n  1
- Ejemplo:
Con 4 bits se puede contar de 0 hasta el
número 24-1 = 15

• Equivalencias:
- 4 bits = 1 nibble
- 8 bits = 1 byte
- 210 bytes = 1 KB (Kilobyte)
- 220 bytes = 1 MB (Megabyte)
- 230 bytes = 1 GB (Gigabyte)
9
Sistemas de Numeración
b) Sistema Binario

• Notación posicional: utiliza potencias de 2


 a3 a2 a1a0 . a1a2 a3 
equivalente
a
  2 a3  2 a2  2 a1  2 a0  2 a1  2 a2  2 a3  
3 2 1 0 1 2 3

- Pesos binarios:

- Ejemplo:
Convertir 10110.1012 a decimal

10110.1012 = (1 x 24) + (1 x 22) + (1 x 21) + (1 x 2-1) + (2 x 10-3)


= 16 + 4 + 2 + 0.5 + 0.125
MSB LSB
= 22.62510

• Nota: MSB = Most Significant Bit, LSB = Least Significant Bit


10
Sistemas de Numeración
b) Sistema Binario

• Ejemplo de aplicación:
Contador de objetos en una faja transportadora

El contador incrementa el valor con cada pulso de entrada:


permite contar eventos

11
Sistemas de Numeración
c) Sistema Hexadecimal

• Está basado en 16 dígitos


• Conteo:
…, E, F, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1A, 1B, 1C, 1D, 1E, 1F, 20, 2A, 2B, …

• Uso: visualizar y manipular números


binarios
- Cada grupo de 4 bits se representa por
1 dígito hexadecimal

- Conversión directa de binario a


hexadecimal (y viceversa)

• Nota: a veces se representan con 0x


1A0F16 = 0x1A0F
12
Sistemas de Numeración
c) Sistema Hexadecimal

• Notación posicional: Utiliza potencias de 16

 a3 a2 a1a0 . a1a2 a3 


equivalente
a
  16 a3  16 a2  16 a1  16 a0  16 a1  16 a2  16 a3  
3 2 1 0 1 2 3

- Ejemplo:
• Convertir 2AE.3516 a decimal

2AE.3516 = (2 x 162) + (A x 161) + (E x 160) + (3 x 16-1) + (5 x 16-2)


= (2 x 256) + (10 x 16) + (14 x 1) + (3 x 0.0625) + (5 x 0.00390625)
= 512 + 160 + 14 + 0.1875 + 0.01953125
= 686.2070312510

• Convertir 0x306 a decimal


0x306 = 77410

13
Sistemas de Numeración
d) Sistema Octal

• Está basado en 8 dígitos (base 8): 0, 1, 2, 3, 4, 5, 6, 7


• Conteo:
… 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, …
• Uso:
- Cada grupo de 3 bits se representa por un dígito octal

- Ejemplos:
a) Convertir 75268 a binario b) Convertir 1011110012 a octal

c) Convertir 23748 a decimal


23748 = (2 x 83) + (3 x 82) + (7 x 81) + (4 x 8) = 127610
14
Sistemas de Numeración

• Ejercicios
Convertir los siguientes números, de la base indicada a decimal:
a) 11011012
b) 0.10112
c) 10111101.0112
d) B2F816
e) 0x0A85
f) 1258
g) 738

Respuestas: a) 109, b) 0.6875, c) 189.375, d) 45 816, e) 2693, f) 85, g) 59

15
Contenido

1. Sistemas de numeración

2. Conversiones entre Sistemas de Numeración

3. Aritmética binaria

4. Complementos de números

5. Números binarios con signo

6. Operaciones con números con signo

7. Códigos digitales

16
Conversiones entre Sistemas de Numeración
Hexadecimal / Binario

• Binario a hexadecimal
- Agrupar en grupos de 4 bits (empezando por la derecha)
- Reemplazar cada grupo por el equivalente hexadecimal
- Ejemplos:

• Hexadecimal a binario
- Reemplazar cada símbolo hexadecimal por los 4 bits equivalentes
- Ejemplos:

17
Conversiones entre Sistemas de Numeración
Decimal a Binario

a) Método de suma de pesos:


- Descomponer el número en suma de potencias de 2
- Orden de las potencias de 2:

… 64 32 16 8 4 2 1 0.5 0.25 0.125 0.0625 …


… 26 25 24 23 22 21 20 2-1 2-2 2-3 2-4 …

- Ejemplos:
• Convertir 4510 a binario
4510 = 32 + 8 + 4 + 1 = 25 + 0 + 23 + 22 + 0 + 20
= 1 0 1 1 0 12

• Convertir 0.62510 a binario


0.62510 = 0.5 + 0.125 = 2-1 + 0 + 2-3
= 0. 1 0 1 2

- Requiere cierta “experiencia”


18
Conversiones entre Sistemas de Numeración
Decimal a Binario

b) Método de la división/multiplicación repetida:


Se separa la parte entera de la decimal
b.1) Parte entera:
- Dividir sucesivamente entre 2 (hasta que cociente = 0)
- Los residuos forman el número binario (del LSB al MSB)

1210 = 11002

19
Conversiones entre Sistemas de Numeración
Decimal a Binario

b) Método de la división/multiplicación repetida:

Convertir 1910 a binario Convertir 4510 a binario

20
Conversiones entre Sistemas de Numeración
Decimal a Binario

b) Método de la división/multiplicación repetida:


b.2) Parte decimal:
- Multiplicar sucesivamente por 2 (hasta que parte fraccional = 0) → Siempre
comenzar con parte entera nula
- Las partes enteras forman el número binario (del MSB al LSB)

0.312510 = 0.01012

21
Conversiones entre Sistemas de Numeración
Decimal a Binario

b) Método de la división/multiplicación repetida:


- Ejemplo:
Convertir 42.37510 a binario

42 2
0 21 2 0.375 x 2 = 0.75
1 10 2
0 5 2
0.75 x 2 = 1.50
1 2 2
0 1 0.50 x 2 = 1.00

0 1 0 1 0 1 .0 1 1
LSB MSB

42.37510 = 101010.0112

22
Conversiones entre Sistemas de Numeración
Decimal a Hexadecimal

• Similar a la conversión de decimal a binario (pero usando 16):


- Para la parte entera: dividir sucesivamente entre 16
- Para la parte fraccionaria: multiplicar sucesivamente por 16

• Ejemplo
Convertir 65010 a hexadecimal

65010 = 28A16

23
Conversiones entre Sistemas de Numeración
Decimal a Octal

• Similar a la conversión de decimal a binario (pero usando 8):


- Para la parte entera: dividir sucesivamente entre 8
- Para la parte fraccionaria: multiplicar sucesivamente por 8

• Ejemplo
Convertir 35910 a octal

35910 = 5478

24
Conversiones entre Sistemas de Numeración

• Ejercicios
a) Convertir 5810 a binario
b) Convertir 8210 a binario
c) Convertir 45.510 a binario
d) Convertir 1100111010002 a hexadecimal
e) Convertir F80B16 a binario
f) Convertir 57310 a hexadecimal
g) Convertir 16310 a octal
h) Convertir 1101011112 a octal
i) Convertir 11428 a binario

Respuestas:
a) 111010, b) 1010010, c) 101101.1, d) CE816, e) 11111000000010112,
f) 23D16, g) 2438, h) 6578, i) 10011000102
25
Contenido

1. Sistemas de numeración

2. Conversiones entre sistemas de numeración


3. Aritmética Binaria
4. Complementos de números

5. Números binarios con signo

6. Operaciones con números con signo

7. Códigos digitales

26
Aritmética Binaria

• Es esencial en todas las computadoras y demás sistemas digitales


(smartphones, tablets, etc.)

• Se basa en las operaciones básicas:


- Adición binaria
- Sustracción binaria
- Multiplicación binaria
- División binaria

• Nota:
- Es importante conocer aritmética binaria como base para comprender
cómo funcionan los sistemas digitales

Ejemplos interactivos: https://ryanstutorials.net/binary-tutorial/binary-arithmetic.php


27
Aritmética Binaria
Adición Binaria

• Reglas básicas para la adición:


Ejemplo: Sumar 112 y 12
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

- Suma de 3 bits (cuando hay acarreo [carry] de 1):


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

• Ejemplo: Sumar 001112 y 101012 mostrando la suma equivalente en decimal.


0111
00111+ 7+
10101 21
11100 28
28
Aritmética Binaria
Adición Binaria

• Ejercicios
Realizar las siguientes sumas de números binarios
a) 112 + 112
b) 1002 + 102
c) 1112 + 112
d) 1102 + 1002

Solución

29
Aritmética Binaria
Sustracción Binaria

• Reglas básicas para sustracción:


0-0=0
1-1=0
1-0=1
10-1=1 con “préstamo” de 1

• Ejemplo:
Hallar la diferencia entre 1012 y 0112 mostrando el equivalente en decimal

30
Aritmética Binaria
Multiplicación Binaria

• Reglas básicas de multiplicación:


0x0=0
0x1=0 Igual que
multiplicación
1x0=0
decimal
1x1=1

- Se forma multiplicaciones parciales con desplazamiento


- Finalmente se suma

• Ejemplo
a) Multiplicar 112 y 112 b) Multiplicar 1112 y 1012

31
Aritmética Binaria
División Binaria

• Igual procedimiento que división decimal


• Ejemplo
Dividir 11002 entre 1002

• Ejercicios
a) Dividir 1102 entre 112
b) Dividir 1102 entre 102

32
Contenido

1. Sistemas de numeración

2. Conversiones entre sistemas de numeración

3. Aritmética binaria

4. Complementos de Números
5. Números binarios con signo

6. Operaciones con números con signo

7. Códigos digitales

33
Complementos de Números
(Para Números Decimales)

• Dígito más alto en números decimales: 9


• Complemento a 9:
Reemplazar cada dígito por lo que le falta para ser 9
012398 987601
546700 453299

• Complemento a 10:
Es 1 más el complemento a 9
- Los 0s menos significativos sin cambio
012398 987602 - 1er dígito menos significa vo (≠0) se resta de 10
546700 453300 - Los restantes dígitos a la izquierda se restan de 9

- Importancia:
• Representa números negativos
• Se puede usar para sustracciones
72532 – 72532 + 03250 – 03250 +
03250 96750 72532 27468
69282 169282 - 69282 30718 - 69282
34
Complementos de Números
Teoría general

• Complemento de base disminuida


- Sea un número N en base r con n dígitos
- Su complemento de base disminuida (complemento a r - 1) es: (rn - 1) - N
- Ejemplos:
• Para decimales (r=10) → complemento a 9 es: 10n -1 - N
• Para binarios (r=2) → complemento a 1 es: 2n -1 - N

• Complemento de base
- Sea un número N en base r con n dígitos
- Su complemento de base (complemento a r) es: rn - N
- Ejemplos:
• Para decimales → complemento a 10 es: 10n - N
• Para binarios → complemento a 2 es: 2n - N

35
Complementos de Números
Complemento a 1

• Para un número N con n dígitos es: 2n -1 - N


• De manera práctica: se invierte cada bit 1 → 0 y 0 → 1
• Ejemplo:
Calcular el complemento a 1 del número 110101002
110101002 → 28 – 1 - 110101002 Forma práctica:
1000000002 - 000000012- 110101002 110101002 → 110101002
111111112 - 110101002
001010112

• Implementación usando circuitos digitales


1 1 0 1 0 1 0 0
inversores

0 0 1 0 1 0 1 1
36
Complementos de Números
Complemento a 2

• Para un número N con n dígitos es: 2n - N


• De manera práctica:
- Método 1: se añade 1 al complemento a 1
- Método 2: se invierte todos los bits a la izquierda del 1 menos significativo
• Ejemplo
- Encontrar el complemento a 2 del número 10111000

01000111 +
1
01001000

- Encontrar el complemento a 2 de a) 00010110, b) 11111100, c) 10010001

Respuestas: a) 11101010, b) 00000100, c) 01101111

37
Complementos de Números
Complemento a 2

• Implementación usando circuitos digitales:

Inversores y Sumador

38
Contenido

1. Sistemas de numeración

2. Conversiones entre sistemas de numeración

3. Aritmética binaria

4. Complementos de números

5. Números Binarios con Signo


6. Operaciones con números con signo

7. Códigos digitales

39
Números Binarios con Signo

• ¡Los sistemas digitales deben poder manejar números positivos y


negativos!

• Un número binario con signo lleva información de:


- Magnitud: valor del número
- Signo: +/-

• Formas de representar números binarios con signo:


- Magnitud con signo (menos usado)
- Complemento a 1
- Complemento a 2 (más importante)

40
Números con Signo
Forma: Magnitud con Signo

• Formato:
- El dígito más a la izquierda representa el signo: 1 = - y 0=+
- El resto de dígitos representan la magnitud

• Ejemplos
- Representar 2510 con 8 bits en formato magnitud con signo.

- Repetir lo anterior para el número -2510.


10011001
- Determinar el valor decimal del número con signo 10010101
• Signo: -
• Magnitud: 0010101 = 24 + 22 + 20 = 16 + 4 + 1 = 21
• Valor decimal: - 21

41
Números con Signo
Forma: Complemento a 1

• Formato
- Números positivos: equivalente binario simple
- Números negativos: complemento a 1 (del número positivo)

• Ejemplo
Representar, usando 8 bits, el número 25 y -25 en forma de complemento a 1
25 00011001 (binario de 25)
-25 11100110 (complemento a 1 de 25)

• Equivalente decimal
- Usar pesos binarios (“normales”) y signo negativo en el dígito más significativo
• Si se usa 8 bits, los pesos son:
-27 26 25 24 23 22 21 20

- Si es un número negativo, al resultado se le suma 1

42
Números con Signo
Forma: Complemento a 1

- Ejemplo:
Encontrar el equivalente decimal de los siguientes números expresados en
complemento a 1:
a) 00010111

b) 11101000

43
Números con Signo
Forma: Complemento a 2

• Formato
- Números positivos: equivalente binario simple
- Números negativos: complemento a 2 (del número positivo)

• Ejemplos
Representar, usando 8 bits, el número 25 y -25 en forma de complemento a 2
25 00011001 (binario de 25)

-25 11100111 (complemento a 2 de 25)

• Equivalente decimal
- Usar pesos binarios (“normales”) y signo negativo en el dígito más significativo
• Ejemplo: usando 8 bits, los pesos son:

-27 26 25 24 23 22 21 20

44
Números con Signo
Forma: Complemento a 2

- Ejemplo:
Encontrar el equivalente decimal de los siguientes números expresados en
complemento a 2:
a) 01010110

b) 10101010

45
Números con Signo

https://plus.google.com/+YouTube/posts/BUXfdWqu86Q 46
Números con Signo
Rango para Números con Signo

• Un número con “n” bits con signo puede representar valores en el


rango
 2 
n 1
 2 n 1
 1

• Ejemplo
- Con 4 bits se puede representar números en el rango:
-23 → 23 - 1
-8 → 7

- ¿Cuál es el rango de representación usando 1 byte?


-27 → 27 - 1
-128 → 127

- Determinar el rango de representación cuando se usa 32 bits


-231 → 231 - 1
-2 147 483 648 → 2 147 483 647
47
Números con Signo
Números con Punto Flotante

• Se utiliza el estándar IEEE 754


• Para precisión simple (32 bits):

Partes: S: bit de signo (0 = positivo, 1 = negativo)


E: Exponente de base 2 (se resta 127 al valor de E)
F: Fracción (bits después del punto flotante: 1.F)

• Ejemplo
1 1000 0010 011 1000 0000 0000 0000 0000

S: 1 (negativo)
E: 1000 0010 = 13010 → 130-127 = 3 - 1.4375 x 23 = -1.4375 x 8 = -11.5
F: 1.0111 → 1.437510

IEEE Standards Committee. (2008). 754-2008 IEEE standard for floating-point arithmetic. IEEE Computer Society Std, 2008.
48
Contenido

1. Sistemas de numeración

2. Conversiones entre sistemas de numeración

3. Aritmética binaria

4. Complementos de números

5. Números binarios con signo


6. Operaciones con Números con Signo
7. Códigos digitales

49
Números con Signo
Adición (usando complemento a 2)

• Se suma los 2 números (ambos con igual número de bits)


- Se descarta el bit de acarreo (carry bit)
• Casos (4):
a) Ambos números positivos: resultado positivo
00000111 7 01111101 125
+ 00000100 + 4 + 00111010 + 58
00001011 11 10110111 -73 183 “Overflow”

b) Ambos números negativos: resultado negativo (complemento a 2)


- Se descarta el bit de acarreo
11111011 -5 10000011 - 125
+ 11110111 -9 + 11000110 - 58
Se descarta el 1 11110010 - 14 1 01001001 73 - 183 “Overflow”
acarreo

Nota: overflow solo en (a) y (b) cuando el bit de signo del resultado es diferente
50
Números con Signo
Adición (usando complemento a 2)

c) Número positivo > número negativo: resultado positivo


- Se descarta el bit de acarreo
00001111 15
+ 11111010 - 6
1 00001001 9

d) Número positivo < número negativo: resultado negativo


00010000 16
+ 11101000 - 24
11111000 - 8

• Suma de más de 2 números:


Se suman 2 por vez 74LS283
Sumador de 4 bits
a + b + c + d = ( ( (a + b) + c ) + d)

https://mil.ufl.edu/4712/docs/sn74ls283rev5.pdf
51
Números con Signo
Sustracción (usando complemento a 2)

• Se invierte el signo del sustraendo (usando complemento a 2) y se “suma” al


minuendo
- Se sigue las “reglas” de la suma
- Se descarta el bit de acarreo (si hubiera)
• Importante:
Usar igual número de bits en minuendo y sustraendo

• Ejemplos:
Usando 8 bits calcular lo siguiente
a) 00011110 - 00001111 b) 1110 - 11101111 c) 11111111 - 11111000
00011110 = +30 00001110 = +14 1111 1111 = - 1
11110001 = -15 00010001 = +17 00001000 = + 8
1 00001111 = +15 00011111 = +31 1 00000111 = + 7

52
Números con Signo
Multiplicación (usando complemento a 2)

• Ejemplo (productos parciales):


Multiplicar 01010011 con 11000101

- Signo del resultado: (-)


- Multiplicando y multiplicador en forma
positiva: 01010011, 00111011
- Productos parciales y suma
- Resultado: 1001100100001

Debe ser negativo:


complemento a 2

1001100100001 → 0110011011111
Se añade bit de signo
1 0110011011111

53
Números con Signo
Multiplicación (usando complemento a 2)

• Etapas:
- Se determina el signo del resultado: (+)(+)=(+), (-)(-)=(+), (+)(-)=(-)
- Se opera con la magnitud de cada número (“forma positiva”)
- Se añade signo al resultado:
• Si debe ser positivo: se añade 0 a la izquierda
• Si debe ser negativo: se añade 1 a la izquierda y se complementa a 2

• Métodos:
a) Sumas sucesivas
b) Productos parciales

• Productos parciales
- Se genera productos parciales y se “desplazan”
- Se suma todos los productos parciales

54
Números con Signo
División (usando complemento a 2)

• Idea:
- Al dividendo se le resta sucesivamente el divisor
- Se “cuenta” el número de veces que se puede restar

• Ejemplo (decimal)
- Dividir 21 entre 7
21 14 7
- 7 - 7 - 7
14 7 0
1ª vez 2ª vez 3ª vez Cociente: 3

• Para binarios
- La misma idea, considerando la sustracción binaria (complemento a 2)
- Más detalles: Floyd (Capítulo 2)

55
Contenido

1. Sistemas de numeración

2. Conversiones entre sistemas de numeración

3. Aritmética binaria

4. Complementos de números

5. Números binarios con signo

6. Operaciones con números con signo

7. Códigos Digitales

56
Códigos Digitales
Códigos BCD

• BCD = Binary Coded Decimal


• Es un código ponderado (weighted BCD)
• Representa cada dígito binario con un código diferente
• Códigos BCD: Dígito Código BCD
- 8421 BCD (más usado) decimal
8421 4221 5421
- 4221 BCD 0 0000 0000 0000

- 2421 BCD 1 0001 0001 0001


2 0010 0010 0010
- 5421 BCD
3 0011 0011 0011
- 7421 BCD 4 0100 1000 0100

• El más usado es: 8421 5 0101 0111 1000


6 0110 1100 1001
- “Equivalente” a binario
7 0111 1101 1010

Nota: cuando solo se dice 8 1000 1110 1011


BCD, se utiliza 8421 BCD 9 1001 1111 1100

57
Códigos Digitales
Códigos BCD

• Ejemplos
- Hallar el código BCD de los números decimales 35, 98, 170 y 2469

- Convertir los siguientes códigos BCD a decimal: 10000110, 001101010001,


1001010001110000

• Ejemplo de aplicación
- Displays de 7 segmentos

58
Códigos Digitales
Códigos Alfanuméricos

• Se usan para representar letras del alfabeto, caracteres numéricos,


símbolos, instrucciones, etc.
• Los más utilizados:
- Código ASCII (American Standard Code for Information Interchange)
• Tiene 128 caracteres y símbolos, y usa 7 bits (u 8 bits con MSB=0)

- Código ASCII Extendido (EASCII)


• Añade signos y caracteres (ej. para otros idiomas) y usa 8 bits
• Existen varias convenciones (https://www.ascii-codes.com)

- EBCDIC (Extended Binary Coded Decimal Interchange Code)


• Usado por IBM, tiene 8 bits

- Unicode
• Cada caracter usa 32 bits
• Existen diferentes codificaciones:UTF-8, UTF-16, UTF-32

59
Códigos Digitales
Código ASCII

http://www.theasciicode.com.ar/ 60
Códigos Digitales
Códigos ASCII Extendido

CP (Code Page) 850


Latin 1 – Western
European languages

http://www.theasciicode.com.ar/ 61
Códigos Digitales
Código Gray
Decimal Código Gray
• No es ponderado 0 0000
- Las posiciones de bit no tienen pesos 1 0001
• Característica principal: 2 0011
- Solo un bit cambia entre números adyacentes 3 0010
4 0110
• Aplicación:
5 0111
- Encoders (absolutos) de posición
6 0101
7 0100
8 1100
9 1101
10 1111
11 1110
12 1010
13 1011
14 1001
15 1000
62
Códigos Digitales
Código Gray

• Binario a código Gray


- El MSB permanece
- De izquierda a derecha se suman los bits adyacentes (descartado acarreos)
- Ejemplo: convertir 110001102 a código Gray
Binario

Código Gray

• Código Gray a binario


- El MSB permanece
- Se suma cada dígito binario generado con el bit del código Gray de la
próxima posición adyacente (descartando acarreos)
- Ejemplo: convertir 10101111 de Gray a binario
Código Gray

Binario
63
Códigos Digitales
Códigos de Detección de Errores

• Al transmitir información de un dispositivo a otro …


… pueden ocurrir errores durante la transmisíón

Transmisor Receptor

• Códigos de detección de errores:


- Detectan errores de 1 o más bits

64
Códigos Digitales
Códigos de Detección de Errores

• Método del bit de paridad


- Mantiene siempre un número par (o impar) de 1s → añade 1 bit
- Puede ser: paridad par o paridad impar
1111000 paridad par
111000
0111000 paridad impar

• CRC (Cyclic Redundancy Check)


- Detecta errores de 1 y 2 bits
- Añade una cantidad (llamada checksum) al final de la secuencia de bits
- Se basa en la división del número (dato) entre un código generador

• Código de Hamming
- Añade bits (“de paridad”) en las posiciones 1, 2, 4, 8.
- Detecta y corrige errores (https://youtu.be/373FUw-2U2k)
65
Referencias

• T.L. Floyd, Digital Fundamentals, 11th ed, Edinburgh Gate, England:


Pearson Education Limited, 2015 (Capítulo 2)

• M.M. Mano and M.D. Ciletti, Digital Design, with an Introduction to the
Verilog HDL, 5th ed, Upper Saddle River: Pearson, 2013 (Capítulo 1)

66

S-ar putea să vă placă și