Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Sistemas y codigos numericos, Ejercicios de Electrónica Digital y Analógica

CAPITULO 2 SISTEMAS Y CODIGOS NUMERICOS

Tipo: Ejercicios

2019/2020

Subido el 13/05/2020

Rokitoalex
Rokitoalex 🇪🇨

1 documento

1 / 19

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
PREGUNTAS DE REPASO
Convierta el número B2F16 en decimal.
Solución
Resumen de las conversiones
En estos momentos es probable que su cabeza esté dando vueltas a medida que
trata de mantener el sentido con todas estas distintas conversiones de un sistema
numérico a otro. Tal vez se haya dado cuenta que muchas de estas conversiones
pueden realizarse en forma automática en su calculadora con sólo oprimir una tecla,
pero es importante que las domine para que pueda comprender el proceso. Además,
¿qué pasaría si su calculadora se quedara sin energía en un momento crucial y no
tuviera un reemplazo a la mano? El siguiente resumen le ayudará, pero nada se
compara con la práctica continua.
1. Al convertir de binario (o hexadecimal) a decimal, utilice el método de tomar la
suma ponderada de la posición de cada bit.
2. Al convertir de decimal a binario (o hexadecimal), utilice el método de la divi-
sión repetida entre 2 (o 16) y recolectar los residuos (fi gura 2-1).
3. Al convertir de binario a hexadecimal, divida el número en grupos de cuatro
bits y convierta cada grupo en el dígito hexadecimal correcto.
4. Al convertir de hexadecimal a binario, convierta cada dígito en su equivalente
de cuatro bits.
1. Convierta el número 24CE16 en decimal.
2. Convierta el número 311710 en hexadecimal y después de hexadecimal a binario.
3. Convierta el número 10010111101101012 en hexadecimal.
4. Escriba los siguientes cuatro números en esta secuencia de conteo hexadecimal:
E9A, E9B, E9C, E9D, _____, _____, _____, _____.
5. Convierta el número 352716 en binario.
6. ¿Qué rango de valores decimales puede representarse mediante un número hexa-
decimal de cuatro dígitos?
2-4 CÓDIGO BCD
Cuando se representan números, letras o palabras mediante un grupo especial de
símbolos, decimos que están siendo codifi cados, y al grupo de símbolos se le llama
código. Tal vez uno de los códigos más conocidos sea el Morse, en el cual una seria de
puntos y rayas representan las letras del alfabeto.
Hemos visto que cualquier número decimal puede representarse mediante un
número binario equivalente. El grupo de 1s y 0s en el número binario puede consi-
derarse como un código que representa el número decimal. Cuando un número deci-
mal se representa por su número binario equivalente, le llamamos código binario
directo.
EJEMPLO 2-5
=286310
=11 *256 +2*16 +15
B2F16 =B*162+2*161+F*160
SECCIÓN 2-4/CÓDIGO BCD 33
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Vista previa parcial del texto

¡Descarga Sistemas y codigos numericos y más Ejercicios en PDF de Electrónica Digital y Analógica solo en Docsity!

PREGUNTAS DE REPASO

Convierta el número B2F 16 en decimal.

Solución

Resumen de las conversiones

En estos momentos es probable que su cabeza esté dando vueltas a medida que trata de mantener el sentido con todas estas distintas conversiones de un sistema numérico a otro. Tal vez se haya dado cuenta que muchas de estas conversiones pueden realizarse en forma automática en su calculadora con sólo oprimir una tecla, pero es importante que las domine para que pueda comprender el proceso. Además, ¿qué pasaría si su calculadora se quedara sin energía en un momento crucial y no tuviera un reemplazo a la mano? El siguiente resumen le ayudará, pero nada se compara con la práctica continua.

  1. Al convertir de binario (o hexadecimal) a decimal, utilice el método de tomar la suma ponderada de la posición de cada bit.
  2. Al convertir de decimal a binario (o hexadecimal), utilice el método de la divi- sión repetida entre 2 (o 16) y recolectar los residuos (figura 2-1).
  3. Al convertir de binario a hexadecimal, divida el número en grupos de cuatro bits y convierta cada grupo en el dígito hexadecimal correcto.
  4. Al convertir de hexadecimal a binario, convierta cada dígito en su equivalente de cuatro bits.
  5. Convierta el número 24CE 16 en decimal.
    1. Convierta el número 3117 10 en hexadecimal y después de hexadecimal a binario.
  6. Convierta el número 1001011110110101 2 en hexadecimal.
  7. Escriba los siguientes cuatro números en esta secuencia de conteo hexadecimal: E9A, E9B, E9C, E9D, _____, _____, _____, _____.
  8. Convierta el número 3527 16 en binario.
  9. ¿Qué rango de valores decimales puede representarse mediante un número hexa- decimal de cuatro dígitos?

2-4 CÓDIGO BCD

Cuando se representan números, letras o palabras mediante un grupo especial de símbolos, decimos que están siendo codificados, y al grupo de símbolos se le llama código. Tal vez uno de los códigos más conocidos sea el Morse, en el cual una seria de puntos y rayas representan las letras del alfabeto. Hemos visto que cualquier número decimal puede representarse mediante un número binario equivalente. El grupo de 1s y 0s en el número binario puede consi- derarse como un código que representa el número decimal. Cuando un número deci- mal se representa por su número binario equivalente, le llamamos código binario directo.

EJEMPLO 2-

B2F 16 = B * 162 + 2 * 161 + F * 160

S ECCIÓN 2-4/ C ÓDIGO BCD 33

34 C APÍTULO 2/ SISTEMAS Y CÓDIGOS NUMÉRICOS

Todos los sistemas digitales utilizan cierta forma de números binarios para su operación interna, pero el mundo externo es decimal por naturaleza. Esto significa que con frecuencia se realizan conversiones entre los sistemas decimal y binario. Hemos visto que las conversiones entre decimal y binario pueden volverse extensas y complicadas cuando se manejan números grandes. Por esta razón, en ciertas situa- ciones se utiliza un medio para codificar números decimales que combina algunas características tanto del sistema decimal como del sistema binario.

Código decimal codificado en binario Si cada dígito de un número decimal se representa mediante su equivalente binario, el resultado es un código que se conoce como decimal codificado en binario (que en lo sucesivo abreviaremos como BCD). Como un dígito decimal puede llegar hasta el 9, se requieren cuatro bits para codificar cada dígito (el código binario para el 9 es 1001). Para ilustrar el código BCD, considere como ejemplo el número decimal 874. Cada dígito se cambia a su equivalente binario de la siguiente manera:

Como segundo ejemplo, vamos a cambiar el número 943 a su representación en código BCD:

Una vez más, cada dígito decimal se cambia a su equivalente binario directo. Observe que siempre se utilizan cuatro bits para cada dígito. Así, el código BCD representa cada dígito del número decimal mediante un número binario de cuatro bits. Es evidente que sólo se utilizan los números binarios de cuatro bits del 0000 al 1001. El código BCD no utiliza los números 1010, 1011, 1100, 1101, 1110 y 1111. En otras palabras, sólo se utilizan 10 de los 16 posibles grupos de código binario de cuatro bits. Si llega a aparecer uno de los números “pro- hibidos” de cuatro bits en una máquina que utilice el código BCD, por lo general, es una indicación de que se produjo un error.

Convierta el número 0110100000111001 (BCD) en su equivalente decimal.

Solución

Divida el número BCD en grupos de cuatro bits y convierta cada grupo en decimal.

Convierta el número BCD 011111000001 en su equivalente decimal.

Solución

8 7 4 (decimal) ↓ ↓ ↓ 1000 0111 0100 (BCD)

9 4 3 (decimal) ↓ ↓ ↓ 1001 0100 0011 (BCD)

El grupo con el código prohibido indica un error en el número BCD

EJEMPLO 2-

EJEMPLO 2-

36 C APÍTULO 2/ SISTEMAS Y CÓDIGOS NUMÉRICOS

La figura 2-2(b) muestra la conversión del código Gray a binario. Observe que el MSB en Gray siempre es el mismo que el MSB en binario. El siguiente bit binario se encuentra comparando el bit binario a la izquierda con el bit correspondiente en código Gray. Los bits similares producen un 0 y los bits distintos un 1. La aplicación más común del código Gray es en los codificadores de posición de eje, como muestra la figura 2-3. Estos dispositivos producen un valor binario que representa la posición de un eje mecánico giratorio. Un codificador de eje práctico utiliza mucho más de tres bits y divide la rotación en mucho más de ocho segmentos, por lo que puede detectar incrementos de rotación mucho más pequeños.

TABLA 2-

Equivalencia entre el código binario de tres bits y el código Gray.

B 2 B 1 B 0 G 2 G 1 G 0

B 2 B 1 B (^0)

G 2 G (^1) Gray (a)

Binario MSB LSB

G (^0)

¿Diferente? ¿Diferente?

G 2 G (^1) G (^0)

B 2 B (^1) Binario (b)

Gray MSB (^) LSB

B (^0)

¿Diferente? ¿Diferente?

FIGURA 2-2 Conversión de (a) binario a Gray y de (b) Gray a binario.

G (^2) G (^1) G (^0)

FIGURA 2-3 Un codificador de eje de ocho posiciones y tres bits.

PREGUNTAS DE REPASO 1. Convierta el número 0101 (binario) en su equivalente en código de Gray.

  1. Convierta el número 0101 (código de Gray) en su número binario equivalente.

2-6 INTEGRACIÓN DE LOS SISTEMAS NUMÉRICOS

La tabla 2-3 muestra la representación de los números decimales del 1 al 15 en los sistemas numéricos binario y hexadecimal, y también en los códigos BCD y Gray. Examine esta tabla con cuidado y asegúrese de comprender de dónde proviene. Observe en especial cómo la representación en BCD siempre usa cuatro bits para cada dígito decimal.

2-7 BYTE, NIBBLE Y PALABRA

Bytes

La mayoría de las microcomputadoras maneja y almacena datos binarios e infor- mación en grupos de ocho bits, por lo que una cadena de ocho bits tiene un nombre especial: byte. Un byte consiste de ocho bits y puede representar cualquier tipo de datos o de información. Los siguientes ejemplos ilustrarán este punto.

¿Cuántos bytes hay en una cadena de 32 bits?

Solución

32/8  4; por lo tanto, hay cuatro bytes en una cadena de 32 bits.

TABLA 2-

Decimal Binario Hexadecimal BCD GRAY

0 0 0 0000 0000 1 1 1 0001 0001 2 10 2 0010 0011 3 11 3 0011 0010 4 100 4 0100 0110 5 101 5 0101 0111 6 110 6 0110 0101 7 111 7 0111 0100 8 1000 8 1000 1100 9 1001 9 1001 1101 10 1010 A 0001 0000 1111 11 1011 B 0001 0001 1110 12 1100 C 0001 0010 1010 13 1101 D 0001 0011 1011 14 1110 E 0001 0100 1001 15 1111 F 0001 0101 1000

EJEMPLO 2-

S ECCIÓN 2-7/ B YTE, NIBBLE Y PALABRA 37

PREGUNTAS DE REPASO

su capacidad (¿apetito?) de manejar datos binarios. Una palabra es un grupo de bits que representa una cierta unidad de información. El tamaño de la palabra depende del tamaño de la ruta de datos en el sistema que utiliza la información. El tamaño de palabra puede definirse como el número de bits en la palabra binaria con el que opera un sistema digital. Por ejemplo, tal vez la computadora en su horno de micro- ondas sólo pueda manejar un byte a la vez. Tiene un tamaño de palabra de ocho bits. Por otro lado, la computadora personal en su escritorio puede manejar ocho bytes a la vez, por lo que tiene un tamaño de palabra de 64 bits.

  1. ¿Cuántos bytes se necesitan para representar el número 235 10 en binario?
  2. ¿Cuál es el valor decimal más grande que puede representarse en BCD, si se utilizan dos bytes?
  3. ¿Cuántos dígitos hexadecimales puede representar un nibble?
  4. ¿Cuántos nibbles hay en un dígito BCD?

2-8 CÓDIGOS ALFANUMÉRICOS

Además de los datos numéricos, una computadora debe ser capaz de manejar infor- mación no numérica. En otras palabras, una computadora debe reconocer códigos que representen letras del alfabeto, signos de puntuación y otros caracteres especia- les, además de los números. A estos códigos se les denomina códigos alfanuméricos. Un código alfanumérico completo debe incluir las 26 letras minúsculas, las 26 letras mayúsculas, los 10 dígitos numéricos, 7 signos de puntuación y de 20 a 40 caracteres adicionales, como , /, #, %, *, y así sucesivamente. Podemos decir que un código alfanumérico representa a todos los caracteres y funciones que se encuentran en el teclado de una computadora.

Código ASCII

El código alfanumérico más utilizado es el Código estándar estadounidense para el intercambio de información (ASCII). Este código es de siete bits, por lo cual tiene 2 7  128 código posibles. Más que suficiente para representar todos los caracteres estándar del teclado, así como las funciones de control tales como retorno de carro (RETURN) y avance de línea (LINEFEED). La tabla 2-4 muestra un listado del códi- go ASCII estándar de siete bits. La tabla proporciona los equivalentes en hexadeci- mal y decimal. Para obtener el código binario de siete bits para cada carácter hay que convertir el valor hexadecimal en binario.

Use la tabla 2-4 para encontrar el código ASCII de siete bits para el carácter de barra diagonal inversa ().

Solución

El valor hexadecimal que aparece en la tabla 2-4 es 5C. Al traducir cada dígito hexa- decimal en código binario de cuatro bits produce el valor 0101 1100. Los siete bits de menor peso representan el código ASCII para , o 1011100.

EJEMPLO 2-

S ECCIÓN 2-8/ C ÓDIGOS ALFANUMÉRICOS 39

40 C APÍTULO 2/ SISTEMAS Y CÓDIGOS NUMÉRICOS

TABLA 2-4 Código ASCII estándar.

Caracter HEX Decimal Caracter HEX Decimal Caracter HEX Decimal Caracter HEX Decimal

NUL (nulo) 0 0 Espacio 20 32 @ 40 64.^60 Inicio del encabezado 1 1! 21 33 A 41 65 a 61 97 Inicio del texto 2 2 “ 22 34 B 42 66 b 62 98 Fin del texto 3 3 # 23 35 C 43 67 c 63 99 Fin de la transmisión 4 4 $ 24 36 D 44 68 d 64 100 Consulta 5 5 % 25 37 E 45 69 e 65 101 Reconocimiento 6 6 & 26 38 F 46 70 f 66 102 Timbre 7 7 ` 27 39 G 47 71 g 67 103 Retroceso 8 8 ( 28 40 H 48 72 h 68 104 Tabulación horizontal 9 9 ) 29 41 I 49 73 i 69 105 Avance de línea A 10 * 2A 42 J 4A 74 j 6A 106 Tabulación vertical B 11 + 2B 43 K 4B 75 k 6B 107 Avance de hoja de impresión C 12 , 2C 44 L 4C 76 l 6C 108 Retorno de carro D 13 - 2D 45 M 4D 77 m 6D 109 Mayúsculas desactivadas E 14. 2E 46 N 4E 78 n 6E 110 Mayúsculas activadas F 15 / 2F 47 O 4F 79 o 6F 111 Escape de enlace de datos 10 16 0 30 48 P 50 80 p 70 112 Control directo 1 11 17 1 31 49 Q 51 81 q 71 113 Control directo 2 12 18 2 32 50 R 52 82 r 72 114 Control directo 3 13 19 3 33 51 S 53 83 s 73 115 Control directo 4 14 20 4 34 52 T 54 84 t 74 116 ACK (reconocimiento) negativo 15 21 5 35 53 U 55 85 u 75 117 Sincronía en estado inactivo 16 22 6 36 54 V 56 86 v 76 118 Fin de Bloque de Transmisión 17 23 7 37 55 W 57 87 w 77 119 Cancelar 18 24 8 38 56 X 58 88 x 78 120 Fin de medio 19 25 9 39 57 Y 59 89 y 79 121 Sustituir 1A 26 : 3A 58 Z 5A 90 z 7A 122 Escape 1B 27 ; 3B 59 [ 5B 91 { 7B 123 Separador de formas 1C 28 < 3C 60 \ 5C 92 | 7C 124 Separador de grupos 1D 29 = 3D 61 ] 5D 93 } 7D 125 Separador de registros 1E 30 > 3E 62 ^ 5E 94 ~ 7E 126 Separador de unidades 1F 31? 3F 63 5F 95 Suprimir 7F 127

42 C APÍTULO 2/ SISTEMAS Y CÓDIGOS NUMÉRICOS

que causen que el receptor no reciba la información idéntica tal y como la envió el transmisor. La principal causa de errores de transmisión es el ruido eléctrico , el cual consiste en fluctuaciones espurias en el voltaje o en la corriente, dichas señales de ruido están presentes en todos los sistemas electrónicos en diversos grados. La figu- ra 2-4 es una ilustración simplificada de un tipo de error de transmisión. El transmisor envía una señal digital en serie que está relativamente libre de ruido, a través de una línea de señal hacia un receptor. No obstante, para cuando la señal llega al receptor contiene un cierto grado de ruido acumulado a la señal original. En ocasiones, el ruido es tan grande en amplitud que altera el nivel lógico de la señal, como se ve en el punto x. Cuando esto ocurre, el receptor puede inter- pretar en forma incorrecta ese bit como un 1 lógico, que no corresponde con lo que el transmisor ha enviado. La mayoría del equipo digital moderno está diseñado relativamente libre de errores, y la probabilidad de que ocurran errores como el que se muestra en la figura 2-4 es muy baja. No obstante, debemos considerar que los sistemas digitales fre- cuentemente transmiten miles, incluso millones de bits por segundo, por lo que incluso hasta una relación muy baja de ocurrencia de errores puede producir un error ocasional que podría llegar a ser molesto, si no es que desastroso. Por esta razón, muchos sistemas digitales emplean algún método para la detección (y en ocasiones corrección) de errores. Uno de los esquemas más simples y utilizados para este fin es el método de paridad.

Bit de paridad Un bit de paridad es un bit que se agrega al grupo de bits del código que se está transfiriendo de un lugar a otro. El bit de paridad se hace 0 o 1, dependiendo del número de 1s que contenga el grupo de bits del código. Se utilizan dos métodos dis- tintos. En el método de paridad par , el valor del bit de paridad se elije de manera que el número total de 1s en el grupo de bits del código, incluyendo el bit de paridad, sea par. Por ejemplo, suponga que el grupo es 1000011. Éste es el carácter “C” en ASCII. El código tiene tres 1s. Por ende, agregaremos un bit de paridad de 1 para que el número total de 1s sea par. El nuevo código incluyendo el bit de paridad sería entonces:

Si el grupo de bits del código contiene un número par de 1s para empezar, el bit de paridad recibe un valor de 0. Por ejemplo, si el código fuera 1000001 (el código ASCII para la “A”), el bit de paridad asignado sería 0 y el nuevo código incluyendo el bit de paridad sería 01000001. El método de paridad impar se utiliza de la misma forma, sólo que el bit de pari- dad se elije de manera que el número total de 1s, incluyendo el bit de paridad, sea impar. Por ejemplo, para el código 1000001, el bit de paridad asignado sería un 1. Para el código 1000011, el bit de paridad sería un 0.

FIGURA 2-4 Ejemplo del ruido que produce un error en la transmisión de datos digitales.

Transmisor Receptor

x

bit de paridad agregado*

  • El bit de paridad puede colocarse en cualquier extremo del grupo de código, pero, por lo general, se coloca a la izquierda del MSB.

Ya sea que se utilice la paridad par o impar, el bit de paridad se convierte en parte de la palabra de código. Por ejemplo, al agregar un bit de paridad al código ASCII de siete bits se produce un código de ocho bits. Por lo tanto, el bit de paridad se trata justo igual que cualquier otro bit en el código. El bit de paridad se transmite para detectar cualquier error de un solo bit que ocurra durante la transmisión de un código de un lugar a otro. Por ejemplo, supon- ga que el carácter “A” se va a transmitir y se va a utilizar paridad impar. El código transmitido sería

Cuando el circuito receptor reciba el código, verificará que éste contenga un núme- ro impar de 1s, incluyendo el bit de paridad. De ser así, el receptor supondrá que el código se ha recibido de manera correcta. Ahora suponga que debido a cierto ruido o falla el receptor en realidad recibe el siguiente código:

El receptor descubrirá que este código tiene un número par de 1s. Esto indica al receptor que debe haber un error en el código, ya que se presume que el transmisor y el receptor han acordado utilizar paridad impar. Sin embargo, no hay forma de que el receptor sepa cuál bit tiene error, ya que no sabe cuál se supone que va a ser el código. Podemos asumir que este método de paridad no funciona si dos bits tienen error, ya que dos errores no cambiarían la característica de “par” o “impar” en el número de 1s en el código. En la práctica, el método de paridad se utiliza sólo en situaciones en las que la probabilidad de un solo error es muy baja y la probabilidad de doble error es prácticamente cero. Cuando se utiliza el método de paridad, el transmisor y el receptor deben acor- dar antes de la transmisión si se va a utilizar la paridad par o impar. No hay ventaja de un método sobre el otro, aunque parece que la paridad par se utiliza más a menudo. El transmisor debe agregar el bit de paridad apropiado a cada unidad de información que transmita. Por ejemplo, si el transmisor está enviando datos codi- ficados en ASCII, deberá agregar el bit de paridad a cada grupo de código ASCII de siete bits. Cuando el receptor examine los datos que reciba del transmisor, compro- bará cada grupo de código para ver si el número total de 1s, incluyendo el bit de paridad, es consistente con el tipo de paridad acordado. A esto se le conoce común- mente como comprobar la paridad de los datos. En caso de que detecte un error, el receptor puede enviar un mensaje al transmisor para pedirle que vuelva a transmi- tir el último conjunto de datos. El procedimiento a seguir cuando se detecta un error depende de cada sistema.

Es común que las computadoras se comuniquen con otros equipos remotos a través de líneas telefónicas. Así es como se lleva a cabo la comunicación por acceso telefó- nico a través de Internet. Cuando una computadora transmite un mensaje a otra, esa información, por lo general, se codifica en ASCII. ¿Cuáles serían las cadenas de bits que transmitiría una computadora para enviar el mensaje HOLA, utilizando ASCII con paridad par?

Solución

Primero, vea los códigos ASCII para cada carácter del mensaje. Después, para cada código cuente el número de 1s. Si es un número par añada un 0 como el MSB, o un 1

EJEMPLO 2-

S ECCIÓN 2-9/ M ÉTODO DE PARIDAD PARA LA DETECCIÓN DE ERRORES 43

(b) El valor 10, que va después de los dos puntos, representa en número hexadeci- mal el total de bytes que se van a cargar en la memoria del microcontrolador. ¿Cuál es el número decimal de bytes que se van a cargar? (c) El número 0020 es un valor hexadecimal de cuatro dígitos que representa la dirección en la que se va a almacenar el primer byte. ¿Cuál es la mayor direc- ción posible? ¿Cuántos bits se requerirían para representar esta dirección? (d) El valor del primer byte de datos es F7. ¿Cuál es el valor (en binario) del nibble menos significativo de este byte?

FFFF 1111 1111 1111 1111 16 bits

Solución

(a) Los códigos ASCII son 3A (para el :) y 31 (para el 1) 00111010 10110001 bit de paridad par (b) 10 hex  1  16  0  1  16 bytes decimales. (c) FFFF es el mayor valor posible. Cada dígito hexadecimal es de 4 bits, por lo que necesitamos 16 bits. (d) El nibble menos significativo (4 bits) se representa mediante el 7 hexadecimal. En binario sería 0111.

Una pequeña computadora de control de procesos utiliza códigos hexadecimales para representar sus direcciones de 16 bits de memoria.

(a) ¿Cuántos dígitos hexadecimales se requieren? (b) ¿Cuál es el intervalo de direcciones en hexadecimal? (c) ¿Cuántas localidades de memoria hay?

Solución

(a) Como 4 bits se convierten en un dígito hexadecimal, se necesitan 16/4  4 dígi- tos hexadecimales. (b) El intervalo binario es de 0000000000000000 2 a 1111111111111111 2. En hexade- cimal sería de 0000 16 a FFFF 16. (c) Con 4 dígitos hexadecimales, el número total de direcciones es 16^4  65,.

En un sistema basado en microcontrolador, los números se introducen en BCD pero se almacenan en binario directo. Como programador, usted debe decidir si necesita una ubicación de almacenamiento de un byte o de dos bytes.

(a) ¿Cuántos bytes necesita si el sistema recibe una entrada decimal de dos dígi- tos? (b) ¿Qué pasaría si tuviera que introducir tres dígitos?

Solución

(a) Con dos dígitos puede introducir valores hasta el 99 (1001 1001 (^) BCD). En binario este valor es 01100011, el cual cabe en una ubicación de memoria de ocho bits. También puede utilizar un solo bit. (b) Tres dígitos pueden representar hasta 999 (1001 1001 1001). En binario este valor es 1111100111 (10 bits). Por lo tanto, no puede usar un solo byte; necesita dos bytes.

APLICACIÓN 2-

APLICACIÓN 2-

S ECCIÓN 2-10/ APLICACIONES 45

46 C APÍTULO 2/ SISTEMAS Y CÓDIGOS NUMÉRICOS

Cuando hay que transmitir caracteres ASCII entre dos sistemas independientes (como una computadora y un módem), debe haber una manera de indicar al receptor cuándo va a llegar un nuevo carácter. A menudo también se tiene la necesidad de detectar errores en la transmisión. El método de transferencia se llama comunica- ción asíncrona de datos. El estado normal de inactividad de la línea de transmisión es un 1 lógico. Cuando el transmisor envía un carácter ASCII, debe “encapsularse” para que el receptor sepa en dónde comienzan y terminan los datos. El primer bit debe ser siempre un bit de inicio (0 lógico). A continuación se envía el código ASCII, en donde el LSB va primero y el MSB al último. Después del MSB se adjunta un bit de paridad para comprobar errores en la transmisión. Para terminar la transmisión se envía un bit de paro (1 lógico). En la figura 2-5 se muestra una transmisión asíncro- na ordinaria del código ASCII de siete bits para el signo # (23 Hex) con paridad par.

RESUMEN

  1. El sistema numérico hexadecimal se utiliza en los sistemas y las computadoras digitales como una manera eficiente de representar cantidades binarias.
  2. En las conversiones entre hexadecimal y binario, cada dígito hexadecimal corresponde a cuatro bits.
  3. El método de división repetida se utiliza para convertir números decimales en binario o hexadecimal.
  4. Mediante el uso de un número binario de N bits podemos representar valores decimales desde el 0 hasta 2 N^ – 1.
  5. Para formar el código BCD de un número decimal se convierte cada dígito del número decimal en su equivalente binario de cuatro bits.
  6. El código Gray define una secuencia de patrones de bits, en los que sólo un bit cambia entre patrones sucesivos en la secuencia.
  7. Un byte es una cadena de ocho bits. Un nibble es de cuatro bits. El tamaño de una palabra depende del sistema.
  8. Un código alfanumérico utiliza grupos de bits para representar a todos los carac- teres y funciones que forman parte del teclado ordinario de una computadora. El código ASCII es el código alfanumérico más utilizado.
  9. En el método de paridad para la detección de errores se adjunta un bit de pari- dad especial a cada grupo de bits que se transmite.

APLICACIÓN 2-

I N I C I O D 1

D 0

L S B

D 2

D 3

D 5

D 4

D 6

M S B

P a r i d a d P A R O

inactiva (^) inactiva

FIGURA 2-5 Datos seriales asíncronos con paridad par.

48 C APÍTULO 2/ SISTEMAS Y CÓDIGOS NUMÉRICOS

2-12. Convierta los siguientes valores decimales en hexadecimales. (a)* 75 (d) 24 (g)* 25, (b) 314 (e)* 7245 (h) 4095 (c)* 2048 (f) 498 2-13. Tome cada número binario de cuatro bits en el orden en el que están escri- tos y escriba el dígito hexadecimal equivalente sin realizar ningún cálculo manual o mediante la calculadora. (a) 1001 (e) 1111 (i) 1011 (m) 0001 (b) 1101 (f) 0010 (j) 1100 (n) 0101 (c) 1000 (g) 1010 (k) 0011 (o) 0111 (d) 0000 (h) 1001 (l) 0100 (p) 0110 2-14. Tome cada dígito hexadecimal y escriba su valor binario de cuatro bits sin realizar ningún cálculo manual ni mediante la calculadora. (a) 6 (e) 4 (i) 9 (m) 0 (b) 7 (f) 3 (j) A (n) 8 (c) 5 (g) C (k) 2 (o) D (d) 1 (h) B (l) F (p) 9 2-15.* Convierta los números binarios del problema 2-1 en hexadecimales. 2-16.* Convierta los valores hexadecimales del problema 2-11 en binarios. 2-17.* Liste los números hexadecimales en secuencia, desde 280 hasta 2A0. 2-18. ¿Cuántos dígitos hexadecimales se requieren para representar números deci- males hasta 1 millón?

SECCIÓN 2-

2-19. Codifique los siguientes números decimales en BCD. (a)* 47 (d) 6727 (g)* 89, (b) 962 (e)* 13 (h) 1024 (c)* 187 (f) 529 2-20. ¿Cuántos bits se requieren para representar los números decimales en el intervalo de 0 a 999 si se utiliza: (a) código binario directo, y (b) código BCD? 2-21. Los siguientes números están en BCD. Conviértalos en decimales. (a)* 1001011101010010 (d) 0111011101110101 (b) 000110000100 (e)* 010010010010 (c)* 011010010101 (f) 010101010101

SECCIÓN 2-

2-22.* (a) ¿Cuántos bits hay en ocho bytes? (b) ¿Cuál es el número hexadecimal más grande que puede representarse en cuatro bytes? (c) ¿Cuál es el valor decimal codificado en BCD más grande que puede representarse en tres bytes? 2-23. (a) Consulte la tabla 2-4. ¿Cuál es el nibble más significativo del código ASCII para la letra X? (b) ¿Cuántos nibbles pueden almacenarse en una palabra de 16 bits? (c) ¿Cuántos bytes se requieren para formar una palabra de 24 bits?

SECCIONES 2-8 Y 2-

2-24. Represente la instrucción “X  3  Y” en código ASCII. Adjunte un bit de paridad impar. 2-25.* Adjunte un bit de paridad par a cada uno de los códigos ASCII del problema 2-24, y muestre los resultados en hexadecimal. 2-26. Los siguientes bytes (mostrados en hexadecimal) representan el nombre de una persona según como se almacenaría en la memoria de una computado- ra. Cada byte es código ASCII con relleno. Determine el nombre de cada persona. (a)* 42 45 4E 20 53 4D 49 54 48 (b) 4A 6F 65 20 47 72 65 65 6E 2-27. Convierta los siguientes números decimales en código BCD y después adjun- te un bit de paridad impar. (a)* 74 (c)* 8884 (e)* 165 (b) 38 (d) 275 (f) 9201 2-28.* En cierto sistema digital, los números decimales del 000 al 999 se repre- sentan en código BCD. También se incluye un bit de paridad impar al final de cada grupo. Examine cada uno de los códigos que se muestran a conti- nuación y suponga que cada uno acaba de transferirse de un lugar a otro. Algunos de los grupos contienen errores. Suponga que no se han producido más de dos errores en cada grupo. Determine cuáles de los siguientes casos tienen un solo error y cuáles tienen en definitiva un error doble. ( Sugerencia: recuerde que éste es código BCD). (a) 1001010110000

bit de paridad

(b) 0100011101100 (c) 0111110000011 (d) 1000011000101 2-29. Suponga que el receptor recibió los siguientes datos del transmisor del ejem- plo 2-16:

¿Qué errores puede determinar el receptor en los datos que recibió?

PREGUNTAS DE PRÁCTICA

2-30.* Realice cada una de las siguientes conversiones. Si desea puede probar varios métodos en algunas de ellas para ver con cuál se adapta mejor. Por ejemplo, una conversión de binario a decimal puede realizarse en forma directa, o también mediante una conversión de binario a hexadecimal segui- da de una conversión de hexadecimal a decimal. (a) 141710  ______ 2 (b) 25510  ______ 2 (c) 110100012  ______ (^10) (d) 11101010001001112  ______ (^10)

P ROBLEMAS 49

EJERCICIOS AVANZADOS

2-37.* En una microcomputadora, las direcciones de las localidades de memoria son números binarios que identifican cada uno de los circuitos de memoria en donde se almacena un byte. El número de bits que forman cada dirección depende de cuántas localidades de memoria haya. Como el número de bits puede ser muy extenso, a menudo las direcciones se especifican en hexade- cimal, en lugar de binario. (a) Si una microcomputadora utiliza una dirección de 20 bits, ¿cuántas loca- lidades de memoria distintas hay? (b) ¿Cuántos dígitos hexadecimales se necesitan para representar la direc- ción de una localidad de memoria? (c) ¿Cuál es la dirección hexadecimal de la localidad de memoria número 256? ( Nota: la primera dirección siempre es 0.) 2-38. En un CD de audio, la señal de voltaje de audio, por lo general, se muestrea aproximadamente 44,000 veces por segundo, y el valor de cada muestra se graba en la superficie del CD como número binario. En otras palabras, cada número binario que se graba representa un punto de voltaje individual en la forma de onda de la señal de audio. (a) Si los números binarios tienen una longitud de seis bits, ¿cuántos valo- res de voltaje distintos pueden representarse mediante un solo número binario? Repita para ocho y diez bits. (b) Si se utilizan números de diez bits, ¿cuántos bits se grabarán en el CD en un segundo? (c) Si un CD puede almacenar, por lo general, 5 mil millones de bits, cuántos segundos de audio pueden grabarse si se utilizan diez bits? 2-39.* Una cámara digital en blanco y negro coloca una rejilla fina sobre una ima- gen para después medir y registrar un número binario que representa el nivel de gris que ve en cada celda de la rejilla. Por ejemplo, si se utilizan números de cuatro bits el valor de negro se establece en 0000 y el valor de blanco en 1111, y cualquier nivel de gris puede tener algún valor entre 0000 y 1111. Si se utilizan números de seis bits, el negro es 000000 y el blanco es 111111, y todos los grises se encuentran entre estos dos valores. Suponga que queremos diferenciar entre 254 niveles de gris dentro de cada una de las celdas de la rejilla. ¿Cuántos bits necesitaríamos usar para repre- sentar estos niveles de gris? 2-40. Una cámara digital de 3 megapixeles almacena un número de ocho bits para el brillo de cada uno de los colores primarios (rojo, verde, azul) que se encuen- tran en cada elemento de imagen (pixel). Si se almacenan todos los bits, sin compresión de datos, ¿cuántas imágenes pueden almacenarse en una tarjeta de memoria de 128 Megabytes? (Nota: en los sistemas digitales, Mega signifi- ca 2^20 ). 2-41. Construya una tabla que muestre las representaciones en binario, hexadeci- mal y BCD de todos los números decimales del 0 al 15. Compare sus resulta- dos con la tabla 2-3.

RESPUESTAS A LAS PREGUNTAS DE REPASO DE LAS SECCIONES

SECCIÓN 2-

  1. 2267 2. 32768

SECCIÓN 2-

  1. 1010011 2. 1011011001 3. 20 bits

R ESPUESTAS A LAS PREGUNTAS DE REPASO DE LAS SECCIONES 51