Você está na página 1de 7

1.

- En un almacén automotriz se usa una computadora para almacenar todos los números
de las refacciones en código ASCII de siete números con una paridad impar. Los códigos de
cada parte automotriz están almacenados en ubicaciones sucesivas de memoria. Liste el
contenido binario de la memoria que almacena el número de la refacción ASR32-5.
1000001 1010011 1010010 0110011 0110010 0101101 0110101

2.-En una computadora de control de proceso se usan código octales para representar
direcciones de memoria de 20 bits.
a) ¿Cuántos dígitos octales se requieren?
6 dígitos octales cada uno ocupa 3 bits
b) ¿Cuál es el rango de direcciones en octal?
El intervalo octal 0000008 a 7777778
c) ¿Cuántas ubicaciones de memoria hay?
Con siete números octales las direcciones son 87=2097152

3.- En una computadora se usa un código de direcciones de 40 bits para sus ubicaciones de
memoria.
a) ¿Cuántos dígitos hexadecimales se necesitan para representar una dirección de
memoria?
10 dígitos hexadecimales ya que cada uno ocupa 4 bits
b) ¿Cuál es el rango de de las direcciones?
Rango de 000000000016 a FFFFFFFFFF16
c) ¿Cuál es el número total de ubicaciones de memoria?
10
Con 10 dígitos hexadecimales el número total de direcciones es 16 =1099511627776

4- En la mayoría de las calculadoras se usa el código BCD para almacenar valores de


decimales, a medida que se ingresen mediante el teclado, para llevar a la visualización de
los dígitos.
a) Si una calculadora es diseñada para manejar números decimales de 12 dígitos. ¿Cuántos
bits se requieren?
Se requieren 48 bits, debido a que cada digito necesita 4 bits (4x12=48)

b) ¿Cuántos son los bits que se almacenan cuando ingrese el número 89234 en la
calculadora?
Se almacenan 20 bits, debido a que el numero 89234 tiene 5 dígitos (5x4=20)
5.- Convierte los siguientes números decimales a código BCD y luego agrégueles un bit de
paridad impar: (En rojo el bit de paridad impar)
a) 774
BCD → 011101110100 → 0 011101110100
b) 338
BCD → 001100111000 → 0 001100111000
c) 448
BCD → 010001001000 → 0 010001001000
d) 1234
BDC → 0001001000110100 → 0 0001001000110100
e) 9955
BCD → 1001100101010101 → 1 1001100101010101

6.- En cierto circuito digital, los números digitales de 000 a 999 se representan en código
BCD. También se incluye un bit de paridad impar al final de cada grupo de código. Examine
cada grupo de código se muestra a continuación y suponga que cada uno apenas ha sido
transferido de una ubicación a otra. Algunos de los grupos contienen errores. Suponga que
no han ocurrido más de dos errores en cada grupo. Determine cuál de los grupos de código
tiene un solo error y cuál definitivamente tiene un error doble. (Sugerencia: recuerde que
este es un código BCD). (En rojo el bit de paridad impar)

a) 100101011000 0
Decimal → 958 (No contiene error)

b) 010001110110 0
Decimal → 476 (Contiene 1 error en el bit de paridad impar)

c) 011111000001 1
Decimal → 7 12 1 (Contiene 1 error porque el código BCD 1100 no es válido)

d) 100001100010 1
Decimal → 862 (No contiene error)

e) 100010001001 1
Decimal →889 (No contiene error)

f) 100100010011 1
Decimal → 913 (Contiene 1 error en el bit de paridad impar)
7.-Los siguientes bytes (mostrados en hex) representan el nombre de una persona en la
forma en la que lo almacenaría la memoria de una computadora. Cada byte es un código
ASCII de relleno. Determine el nombre de la persona.
42 45 4E 20 53 4D 49 54 48

R:

BEN SMITH

8.- Represente la afirmación "X= 25/Y" en código ASCII (excluya las comillas) Agregue el bit
de paridad impar (color rojo).

R:

1 0101 1000 0011 1101 0011 0010 0011 0101 0010 1111 0101 1001

9.-Convierta estos valores hexadecimal a decimal.

a) 92 = (9x16^1) + (2x16^0) = 146

b) 1A6 = (1x16^2) + (10x16^1) + (6x16^0) = 422

c) 37FD = (3x16^3) + (7x16^2) + (15x16^1) + (13x16^0) = 14 333

d) ABCD = (10x16^3) + (11x16^2) + (12x16^1) + (13x16^0) = 43 981

e) 000f = (0x16^3) + (0x16^2) + (0x16^1) + (15x16^0) = 15

f) 55 = (5x16^1) + (5x16^0) = 85

g) 2c0 = (2x16^2) + (12x16^1) + (0x16^0) = 704

h) 7ff = (7x16^2) + (15x16^1) + (15x16^0) = 2047

10.-Convierta estos valores decimales a hexadecimal


a) 7510 → 4B16

b) 31410 → 13A16

c) 204810 → 80016

d) 14110 → 8D16

e) 38910 → 18516
11.-Convierta los valores hexadecimal del problema 9 a binario
a) 9216 → 10010010
b) 1A616 → 000110100110
c) 37FD16 → 0011011111111101
d) ABCD16 → 1010101111001101
e) 000F16 → 0000000000001111
f) 5516 → 01010101
g) 2C016 → 001011000000
h) 7FF16 → 011111111111

12.- Suponga que el receptor recibió los siguientes datos del transmisor del problema 11
01001000
11000101
11001100
11001000
11001100
¿Qué errores puede determinar el receptor en estos datos?
Para resolver este problema observamos el problema original del Libro de Tocci pagina 42 porque
teníamos algunas dudas y nos dimos cuenta de lo siguiente:

Entonces para resolver este problema tenemos que observar el Ejemplo 2-10 que se encuentra en
la página 38 del mismo libro de Tocci y no el problema 2-10, que es el problema 11 de este
documento

El ejemplo 2-10 es el siguiente:


01001000
11000101
11001100
11001000
11001100
¿Qué errores puede determinar el receptor en estos datos? (De rojo el bit de paridad par)
0 1001000 (No se encuentra ningún error)
1 1000101 (No se encuentra ningún error)
1 1001100 (No se encuentra ningún error)
1 1001000 (1 error en el bit de parida par)
1 1001100 (1 error en el código ASCII 1001100, este código no es de la letra O)

13. - Explique en qué consiste el código Hamming de corrección de error.


En informática, el código de Hamming es un código detector y corrector de errores que
lleva el nombre de su inventor, Richard Hamming. En los datos codificados en Hamming se pueden
detectar errores en un bit y corregirlos, sin embargo no se distingue entre errores de dos bits y de
un bit (para lo que se usa Hamming extendido). Esto representa una mejora respecto a los códigos
con bit de paridad, que pueden detectar errores en sólo un bit, pero no pueden corregirlo.

14. - Explique la diferencia entre Método de paridad y código Hamming.


La paridad consiste en añadir un bit, denominado bit de paridad, que indique si el número
de los bits de valor 1 en los datos precedentes es par o impar. Si un solo bit cambiara por error en
la transmisión, el mensaje cambiará de paridad y el error se puede detectar (nótese que el bit
donde se produzca el error puede ser el mismo bit de paridad). La convención más común es que
un valor de paridad de 1 indica que hay un número impar de unos en los datos, y un valor de
paridad de 0 indica que hay un número par de unos en los datos.
La comprobación de paridad no es muy robusta, dado que si cambia de forma uniforme
más de un solo bit, el bit de paridad será válido y el error no será detectado. Por otro lado, la
paridad, aunque puede detectar que hay error, no indica en qué bit se cometió. Los datos se deben
desechar por entero y volverse a transmitir. En un medio ruidoso, una transmisión correcta podría
tardar mucho tiempo o incluso, en el peor de los casos, no darse nunca. El chequeo de paridad,
aunque no es muy bueno, usa un único bit, por lo que produce muy poca sobrecarga, y además
permite la corrección de ese bit si es conocida su posición.
En cambio, el código de Hamming agrega tres bits adicionales de comprobación por cada cuatro
bits de datos del mensaje.
El algoritmo de Hamming puede corregir cualquier error de un solo bit, pero cuando hay
errores en más de un bit, la palabra transmitida se confunde con otra con error en un sólo bit,
siendo corregida, pero de forma incorrecta, es decir que la palabra que se corrige es otra distinta a
la original, y el mensaje final será incorrecto sin saberlo. Para poder detectar (aunque sin
corregirlos) errores de dos bits, se debe añadir un bit más, y el código se llama Hamming
extendido. El procedimiento para esto se explica al final.

15. - De un ejemplo de código Hamming.


Consideremos la palabra de datos de 7 bits "0110101". Para ver cómo se generan y
utilizan los códigos Hamming para detectar un error, observe las tablas siguientes. Se utiliza la d
para indicar los bits de datos y la p para los de paridad.
En primer lugar los bits de datos se insertan en las posiciones apropiadas y los bits de paridad
calculados en cada caso usando la paridad par.
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
Palabra de datos (sin paridad): 0 1 1 0 1 0 1
p1 1 0 1 0 1 1
p2 0 0 1 0 0 1
p3 0 1 1 0
p4 0 1 0 1
Palabra de datos (con paridad): 1 0 0 0 1 1 0 0 1 0 1
Cálculo de los bits de paridad en el código Hamming
La nueva palabra de datos (con los bits de paridad) es ahora "10001100101".
Consideremos ahora que el bit de la derecha, por error, cambia de 1 a 0. La nueva palabra de
datos será ahora "10001100100".
Sin errores
Prueba de Bit de
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
paridad paridad
Palabra de datos
1 0 0 0 1 1 0 0 1 0 1 1
recibida:
p1 1 0 1 0 1 1 Correcto 0
p2 0 0 1 0 0 1 Correcto 0
p3 0 1 1 0 Correcto 0
p4 0 1 0 1 Correcto 0
Comprobación de los bits de paridad (con primer bit de la derecha cambiado)

Con errores

Prueba de Bit de
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
paridad paridad
Palabra de datos
1 0 0 0 1 1 0 0 1 0 0 1
recibida:
p1 1 0 1 0 1 0 Error 1
p2 0 0 1 0 0 0 Error 1
p3 0 1 1 0 Correcto 0
p4 0 1 0 0 Error 1
Comprobación de los bits de paridad (con primer bit de la derecha cambiado)