sistemas numÉricos y cÓdigosprofesores.fi-b.unam.mx/normaelva/sistemas_numericos.pdf ·...
TRANSCRIPT
CAPÍTULO 2 SISTEMAS NUMÉRICOS Y CÓDIGOS
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 7
2. Objetivo
Esudiar los conceptos sobre sistemas numéricos y códigos usados en el diseño
digital. Analizar las técnicas de conversiones entre distintas bases numéricas.
2.1 Sistemas numéricos y conversiones
Los sistemas numéricos son una representación numérica que provee pesos específicos a
los dígitos que conforman a un número, respecto a su posición. A este tipo de sistemas de
numeración se les conoce como posicionales. Así, los pesos asignados dependen de la base del
número (ej. decimal: base 10) y de la posición del digito. Su ventaja radica en la simplificada
de realizar conversiones entre una base X y una base Y de forma sistemática.
2.1.1 Sistemas, binario, Octal, Decimal y Hexadecimal
Un sistema numérico posicional está dado por la siguiente expresión:
𝑆 = 𝑎𝑛𝑟𝑛 + 𝑎𝑛−1𝑟𝑛−1 + ⋯ + 𝑎0𝑟0 + 𝑎−1𝑟−1 + ⋯ + 𝑎−𝑚𝑟−𝑚,
en donde 𝑆 es el número, 𝑎 corresponde al digito, 𝑚, 𝑛 son las posiciones y 𝑟 es la base.
Lo anterior puede generalizarse para cualquier base, de tal forma que para 𝑟 ∈ [2,16], se tienen
los siguientes digitos:
Base 𝑟 Dígitos
Binaria 2 0, 1
3 0, 1, 2
4 0, 1, 2, 3
5 0, 1, 2, 3, 4
6 0, 1, 2, 3, 4, 5
7 0, 1, 2, 3, 4, 5, 6
Octal 8 0, 1, 2, 3, 4, 5, 6, 7
9 0, 1, 2, 3, 4, 5, 6, 7, 8
Decimal 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
11 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A
12 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B
13 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C
14 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D
15 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E
Hexadecimal 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Es posible notar que se hace énfasis en cuatro bases numéricas principales, lo cual, tiene relación
con los sistemas numéricos mayormente empleados en el diseño de sistemas digitales.
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 8
2.1.2 Conversión entre bases.
La conversión entre bases es el mecanismo artimético mediante el cual es posible transformar
entre una base X a una base Y. Para ilustrar esta técnica, a continuación se presentan algunos
ejemplos.
Ejemplo1. Convertir los siguientes números binarios (𝑟 = 2), a números decimales (𝑟 = 2):
(110110)2 1 x 25 + 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20
= 32 + 16 + 0 + 4 + 2
= (54)10
(0.1101)2 1 x 2-1 + 1 x 2-2 + 0 x 2-3 + 1 x 2-4
= 0.5 + 0.25 + 0 + 0.0625
= (0.8125)10
(11011001.101)2 1 x 27 + 1x 26 + 0 x 25 + 1 x 24
+ 1 x 23 + 0 x 22 + 0 x 161 + 1x 160
+ 1 x 2-1 + 0 x 2-2 + 1 x 2-3
= 128 + 64 + 16 + 8 + 1 + 0.5 + 0.625
= (217.625)10
Ejemplo 2. Convertir el siguiente número en octal a número decimal:
(756)8 7 x 82 + 5 x 81 + 6 x 80
= 448 + 40 + 6
= (494)10
Ejemplo 3. Convertir los siguientes números en hexadecimal a números decimales:
(C54B.FE)16 12 x 163 + 5 x 162 + 4 x 161 + 11 x 160
+ 15 x 16-1 + 14 x 16-2
= 49152 + 1280 + 64 + 11 + 0.9375 + 0.0547
= (50507.992)10
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 9
(15A75.AF)16 1 x 164 + 5 x 163 + 10 x 162 + 7 x 161
+ 5 x 160 + 10 x 16-1 + 15 x 16-2
= 65536 + 20480 + 2560 + 112 + 5
+ 0.625 + 0.0586
= (88693.683)10
(A3DE.F)16 10 x 163 + 3 x 162 + 13 x 161 + 14 x 160
+ 1 x 23 + 0 x 22 + 0 x 161 + 1x 160
+ 15 x 16-1
= 40960 + 768 + 208 + 14 + 0.9375
= (41950.937)10
Ejemplo 4. Convertir el siguiente número en base doce a número decimal:
(37AB.B)12 3 x 123 + 7 x 122 + 10 x 121 + 11 x 120
+ 11 x 12-1
= 5184 + 1008 + 120 + 11 + 0.9167
= (6323.9167)10
Con el objetivo de reforzar los conceptos hasta aquí estudiados, se deja al lector la solución de
los siguientes ejercicios.
Tarea1: Obtener la representación decimal de los siguientes números.
1. (417.3)8 11. (541.553)6
2. (110111.111)2 12. (1654.36)7
3. (23FA.CD)16 13. (A179.AA)11
4. (1485.156)9 14. (DC9A.DC)14
5. (AB167.B9)12 15. (EE459.E9)15
6. (13467.A)13 16. (2567.856)16
7. (1011000111.10101)2 17. (4732.71)8
8. (2312.33)4 18. (111101101.10111)2
9. (2112.122)3 19. (13AFF.DEF)16
10. (4134.43)5 20. (32112.312)4
Por otra parte, sí se desea convertir un número de base decimal a cualquier otra base, solo es
necesario dividir el número decimal (𝑆) entre la base (𝑟), a la que se desea convertir. Los
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 10
residuos se van acomodando, obteniendo así la cantidad convertida. A continuación se
muestran algunos ejemplos de conversión entre base 10 y una base 𝑟.
Ejemplo 5. Convertir (48.123)10 a base 2 y a base 8:
Ejemplo 6. Convertir (2950)10 a base 16:
Ejemplo 7. Convertir (710)10 a base 2:
Para convertir un número fraccionario de base decimal a otra base se hace mediante
multiplicaciones sucesivas. Los siguientes ejemplos ilustran el método.
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 11
Ejemplo 8. Conviertir (0.546)10 a base 2:
Ejemplo 9. Conviertir (0.546)10 a base 16:
Para convertir un número real de base decimal a otra base se realiza primero la parte entera y
después la parte fraccionaria para, finalmente, sumar ambos resultados.
Ejemplo 9. Conviertir (4315.718)10 a las bases 2, 5, 13, 16 :
2 = (1000011011011.1011)2
5 = (11423.324)5
13 = (1C6C.944)13
16 = (10DB.B7CE)16
Tarea2: Realice las siguientes conversiones de acuerdo con el ejemplo anterior.
(8349.159) 10 2 =
4 =
8 =
16 =
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 12
(935.75) 10 2 =
4 =
8 =
16 =
Una observación que permite al lector sistematizar la tarea de conversión entre bases es, realizar la
conversión entre bases pasando primero por base decimal.
Tarea3. Desarrollar un programa en lenguaje C, Pascal, Fortran o Basic para la conversión de
números de una base a otra. Estructura el programa de tal forma que maneje su información por
medio de ventanas y menús.
2.2 Aritmética binaria.
La aritmética binaria sirve para manejar números con solo dos dígitos 0 y 1, y cualquier número
puede ser representado por estos dos dígitos. La aritmética de los números binarios maneja las
operaciones de suma, resta, multiplicación y división. La operación aritmética binaria comienza
desde el bit menos significativo, es decir, desde el bit más a la derecha.
2.2.1 Aritmética binaria no signada.
Son números binarios positivos sin ninguna indicación de signo y no toman en
cuenta a los números negativos, razón por la cual los números negativos no son
aplicables en los sistemas digitales, ya que los datos se representan en el sistema de
números binarios.
Por lo tanto, para diferenciar números binarios positivos y negativos, se requiere
representar el signo con una notación especial.
Las dos operaciones básicas son:
• la suma
• la resta
El procedimiento para realizar sumas en bases diferentes al decimal es muy similar al usado
para hacer sumas y restas en este sistema. Por ejemplo:
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 13
2.2.2 Aritmética binaria signada.
La notación de la aritmética binaria signada es la más simple y uno de los métodos más
comunes para representar números positivos y negativos. A los números negativos se
les antepone un “1” y a los números positivos se les antepone un “0”.
Restas binarias.
La operación sustracción binaria requiere un trato especial a los números negativos.
Generalmente se obtiene su complemento.
Ejemplo 1: Obtener el complemento a la base de los siguientes números:
1. (52520)10 4. (0.10110)2
2. (0.3267)10 5. (AB2373)16
3. (101100)2 6. (347823)11
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 14
Solución:
Complemento a la base disminuída definición:
Ejemplo 2: Obtener el complemento a la base disminuída de los siguientes números:
1. (52520)10 =
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 15
2. (0.0110)10 =
3. (347823)11 =
Tarea4: Obtener el complemento a la base disminuída de los siguientes números:
4. (1011011)2
5. (AFC192)16
6. (1101101)2
Representación de datos.
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 16
Complementos a 2
Formato N . . . . . . . . . . . . . . 1 0
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 17
2.3 Códigos.
Un código es un conjunto de símbolos que representan un número, letra o palabras. En el
ámbito de los distemas digitales, los códigos más utilizados son:
BCD: Binary coded decimal (decimal codificado en binario)
Exceso 3
Gray
A continuación se detallan y ejemplifican cada uno de los códigos anteriormente mencionados.
Código BCD
El código BCD (Binary-Coded Decimal) o Decimal codificado en binario, se utiliza para
representar números decimales en el sistema binario, en donde cada dígito decimal es
codificado con una secuencia de 4 bits.
Se utiliza al realizar operaciones aritméticas como suma, resta, multiplicación y división
de números en representación decimal, sin perder en los cálculos la precisión ni tener las
inexactitudes en que normalmente se incurre con las conversiones de decimal a binario y
de binario a decimal. La conversión de los números decimales a BCD y viceversa es muy
sencilla, pero los cálculos en BCD llevan más tiempo y son algo más complicados que
con números binarios. La tabla 2.1 muestra los números del cero al diez codificados en
BCD
Números en decimal Codificados en BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
Tabla 2.1 Números en decimal y su codificación en BCD
Ejemplo1. Convierta (1492.15)10 a BCD
0001 0100 1001 0010. 0001 0101 en BCD
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 18
Ejemplo2. Convierta (95.7)10 a BCD
1001 0101. 0111 en BCD
2.- Código Exceso 3
Este código se deriva del código BCD,y se obtene sumando el número tres binario a los números en
BCD. La tabla 2.2 muestra los números del cero al diez en decima y su codificación en BCD y en
exceso 3
Números en decimal Codificados en BCD Codificados en exceso 3
0 0000 0011
1 0001 0100
2 0010 0101
3 0011 0110
4 0100 0111
5 0101 1000
6 0110 1001
7 0111 1010
8 1000 1011
9 1001 1100
Tabla 2.2 Números en decimal y su codificación en BCD y en exceso 3
Ejemplo3. Convierta (43.2)10 a Exceso 3
1001 0010. 0001 en Exceso 3
3.- Código Gray
Es un código de cambio mínimo, en el cuál sólo un bit del código cambia cuando se pasa
de una etapa a la siguiente. El código Gray es un código sin valor. . La tabla 2.3 muestra
los números del cero al diez codificados en Grey
M.I. Norma Elva Chávez Rodríguez
M.I. Norma Elva Chávez Rodríguez 19
Tabla 2.3 Números en decimal y su codificación en Grey
** COMENTARIOS:
Sustituir las imágenes moradas por formato de texto/ecuación.
Sustituir las capturas de pantalla de texto (en color morado) por formato de texto/ecuación.
Aclarar los conceptos señalados en rojo.
Justificar texto y verificar que los márgenes sean consistentes a lo largo del documento.
Decimal Gray
0 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100
8 1100
9 1101
10 1111
11 1110
12 1010
13 1011
14 1001
15 1000