Soluciones de problemas 133
Paolo1983Tarea8 de Marzo de 2014
7.076 Palabras (29 Páginas)295 Visitas
Soluciones de problemas 133
Problemas del Tema 1
1.1. Convertir a base decimal los siguientes nmeros:
¥ (201.2)3
Para pasar a base decimal tenemos que utilizar el
método polinómico, por lo que:
N = 2*32+0*31+1*30+2*3-1=21.667
¥ (FFA.7)16
Como estamos en la base hexadecimal, las letras tiene
un equivalente numérico (el que se utilizará en el
polinomio): N = 15*162+15*161+10*160+7*16-1=4090.4375
¥ (100)5
¥ (26.5)7
¥ (326.5)9
1.2. Convertir a base binaria los siguientes nmeros:
¥ (235.3)10
Para pasar a binario, debemos utilizar el método iterativo,
para lo cual hay que separar la parte entera
de la parte decimal. La conversión de la parte entera
es:
Mientras que la de la parte decimal es:
0.3*2=0.6
0.6*2=1.2
0.2*2=0.4
0.4*2=0.8
0.8*2=1.6
Por lo tanto el número binario será: 011101011.01001
¥ (FFA.7)16
Como no sabemos realizar las operaciones aritméticas
en base hexadecimal, primero debemos pasar dicho
número a decimal y después a binario. El número deci-
235 2
117 2
58 2
29 2
1
1
0
1
0
14 2
7 2
3 2
1 2
1
1
1 0
134 Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica
mal será: N=4090.4375. Ahora utilizamos el método
iterativo, esparando la parte entera de la parte
decimal.
0.4375*2=0.8750
0.8750*2=1.7500
0.7500*2=1.5000
0.5000*2=1.0000
Por lo tanto, el número binario será:
0110011111010.0111
¥ (100)8
¥ (26.5)7
¥ (210.1)3
1.3. Convertir directamente:
¥ (340)8 al sistema binario
Para pasar directamente a binario, la base fuente
debe ser un potencia de dos. Entonces, se convierte
dígito a dígito con tantos bits como dicha potencia.
En este caso la potencia es 3; así ‘3’=’011’,
‘4’=’100’ y ‘0’=’000’. De ahí el número binario será:
011100000
¥ (100)8 al sistema binario
¥ (1B4)16 al sistema binario
En este caso la potencia es 4. Por lo tanto:
‘1’=’0001’, ‘B’=’1011’, ‘4’=’0100’. Luego, el número
binario será: 000110110100
¥ (1000110)2 al sistema octal
Para pasar desde binario a una base que es potencia de
dos, se agrupan los bits en dicha potencia (empezando
4090 2
2045 2
1022 2
511 2
0
1
0
1
1
255 2
127 2
63 2
31 2
1
1
1 12 2
6 2
3 2
1 2
0
0
1
1 0
Soluciones de problemas 135
por el punto decimal). Como en este caso es la base
octal, los grupos serán de tres bits, es decir,
‘1’’000’’110’. Ahora convertimos cada grupo por separado,
por lo que número octal será: 1068
¥ (1000110)2 al sistema hexadecimal
¥ (1110110)2 al sistema hexadecimal
En este caso, los grupos serán de cuatro bits por
estar en la base hexadecimal. De ahí, los grupos
serán: ‘111’’0110’. Entonces el número hexadecimal
será: 3616
1.4. Dado la siguiente igualdad: (100)10 = (400)b, determinar el valor de la base b. ÀCul es
el valor de (104)10 en la base b?
Como conocemos los valores de un número en decimal y
en la base desconocida, podemos plantear la onversión
polinómica:
100 = 4*b2+0*b1+0*b0
De dicha ecuación podemos obtener el valor de la base,
b = 5.
Para pasar 104 decimal a base 5, debemos utilizar el
método iterativo
Por lo tanto, el número será: 04045
1.5. Dado un cdigo pesado con los siguientes pesos: (120,60,20,5,1), con la siguiente expresi
n polinmica:
N* = (n4 n3 n2 n1 n0)* = 120*n4 + 60*n3 + 20*n2 + 5*n1 + n0
Donde: 0 < n0< 4 0 < n1 < 3 0 < n2 < 2 0 < n3 < 1 0 < n4 < 1
Se desea averiguar:
¥ El nmero decimal correspondiente a la palabra de cdigo (01212)*
Como tenemos el polinomio de dicha base, para pasar a
decimal, sólo tenemos que incluir los dígitos y realizar
las operaciones: N=120*0+60*1+20*2+5*1+2=107
¥ El nmero decimal correspondiente a la palabra de cdigo (10010)*
¥ La palabra de cdigo correspondiente al nmero decimal 125
Para pasar de decimal a la nueva base debemos utilizar
el método iterativo. Ahora podemos actuar de dos formas
diferentes.
En primer lugar podemos dividir entre el mayor peso.
De esta forma sabemos que el cociente es el dígito
104 5
20 5
4 5
4
0
4 0
136 Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica
correspondiente, y el resto será la combinación del
resto de dígitos. Se repite este método con todos los
pesos de mayor a menor.
Por lo que el número será: (10010)*. Este método no es
muy utilizado ya que, por lo general, no conocemos el
mayor peso del numero.
En segundo lugar, debemos encontrar una relación
entre los diferentes pesos de las bases:
• 5/1=5
• 20/5=4
• 60/20=3
• 120/60=2
Es decir, el polinomio se puede poner de la siguiente
forma: N* = (n4 n3 n2 n1 n0)* = (((2*n4 + n3)*3+ n2)*4+ n1)*5+ n0. Por lo
tanto, si dividimos entre 5, 4, 3, 2 y 1, los restos sern los dgitos menos signiÞ-
cativos:
Por lo tanto, el número será: (10010)*
Ambos métodos son igualmente válidos
¥ La palabra de cdigo correspondiente al nmero decimal 230
¥ La palabra de cdigo correspondiente al nmero binario (1001011)
Como la base no es una potencia de dos, no se puede
pasar directamente, así que primero debemos pasr el
número binario a decimal, y después a la nueva base.
Para pasarlo a decimal utilizamos el método polinómico:
N=1*26+1*23+1*21+1*20=75
Ahora utilizamos el método iterativo
Por lo tanto, el número representado en la nueva base
será: (01030)*
125 120 5 60 5 20
1 0 0 1
5 5
5
0 1
0
125 5
25 4
6 3
2 2
0
1
0
0
1
1 1
0
75 5
15 4
3 3
1 2
0
3
0
1
0
0 1
0
Soluciones de problemas 137
1.6. Dados los siguientes cdigos BCD:
Se pide:
¥ Razonar si es un cdigo detector y/o corrector de errores (1 solo bit errneo)
Para que el código sea detector (corrector) de errores
en un solo bit, la distancia entre todas sus palabras
debe ser de al menos de 2 (3). Por lo tanto,
tenemos que hallar la distancia entre todas las palabras:
• d(0,1)=3, d(0,2)=4, d(0,3)=3, d(0,4)=3,
d(0,5)=4, d(0,6)=3, d(0,7)=4, d(0,8)=3,
d(0,9)=4, d(1,2)=3, d(1,3)=4, d(1,4)=4,
d(1,5)=3, d(1,6)=4, d(1,7)=3, d(1,8)=4,
d(1,9)=3, d(2,3)=3, d(2,4)=3, d(2,5)=4,
d(2,6)=3, d(2,7)=4, d(2,8)=7, d(2,9)=4,
d(3,4)=4, d(3,5)=3, d(3,6)=4, d(3,7)=3,
d(3,8)=4, d(3,9)=7, d(4,5)=3, d(4,6)=4,
d(4,7)=3, d(4,8)=4, d(4,9)=3, d(5,6)=3,
d(5,7)=4, d(5,8)=3, d(5,9)=4, d(6,7)=3,
d(6,8)=4, d(6,9)=3, d(7,8)=3, d(7,9)=4,
d(8,9)=3.
Como la distancia mínima entre todas sus palabras es
igual a 3, este código es un código corrector de errores
en un solo bit (y por tanto también es detector)
¥ Detectar y/o corregir (en el caso que sea posible) las siguientes palabras de
cdigo. Para ello se debe indicar la particularidad del cdigo detector utilizada
para la deteccin, o los bits de mensaje que son chequeados por cada bit de
cheueo.
¥ 0000001
¥ 1100100
¥ 0000000
¥ 1101011
¥ 0000111
¥ 0000110
(En el caso de que el cdigo sea corrector, se sabe que los cuatro primeros bits son bits de
mensaje y el resto bit de chequeo con paridad de tres bits)
Dgito decimal Cdigo n¼ 1
0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 1
2 0 0 1 1 0 1 1
3 0 0 1 0 1 1 0
4 0 1 1 0 0 0 1
5 0 1 1 1 1 0 0
6 0 1 0 1 0 1 0
7 0 1 0 0 1 1 1
8 1 1 0 0 1 0 0
9 1 1 0 1 0 0 1
138 Dpto. Ingeniera Electrnica de Sistemas Informticos y Automtica
Como el código es un código corrector de errores en un
solo bit, vamos a indicar los bits de mensaje (los
tres primeros) que son chequeados por cada bit de chequeo
(los tres últimos). Nombrémos los bits de la
siguiente forma: m1m2m3m4c1c2c3
Para ello, vamos a fijarnos en las palabras que sólo
tienen un ‘1’ en los bits de mensaje. De esta forma
los bits de chequeo que valgan ‘1’, chequearán a dicho
bit. Utilizando este criterio, observamos que:
• c1 chequea a m4, m3, m2
• c2 chequea a m3, m2
• c3 chequea a m4, m2
Como no hay
...