Vous êtes sur la page 1sur 25

Universidad Rey Juan Carlos

Grado en Ingeniería de Computadores Tecnología de Computadores

SOLUCIONES HOJA DE PROBLEMAS 2.


SISTEMA BINARIO DE REPRESENTACIÓN NUMÉRICA

1. Convertir los siguientes números binarios a sus equivalentes decimales:


a. 001100 g. 100001
b. 000011 h. 111000
c. 011100 i. 11110001111
d. 111100 j. 11100.011
e. 101010 k. 110011.10011
f. 111111 l. 1010101010.1

Solución:

a. 001100BP=(23+22)10=1210
b. 000011BP=(21+20)10=310
c. 011100BP=(24+23+22)10=2810
d. 111100BP=(25+24+23+22)10=6010
e. 101010BP=(25+23+21)10=4210
f. 111111BP=(25+24+23+22+21+20)10=6310
g. 100001BP=(25+20)10=3310
h. 111000BP=(25+24+23)10=5610
i. 11110001111BP=(210+29+28+27+23+22+21+20)10=193510
j. 11100.011BP=(24+23+22+2-2+2-3)10=28.37510
k. 110011.10011BP=(25+24+21+20+2-1+2-4+2-5)10=51.5937510
l. 1010101010.1BP=(29+27+25+23+21+2-1)10=682.510

1
2. Convertir los siguientes números decimales a sus equivalentes binarios:
a. 64 f. 500
b. 100 g. 34.75
c. 111 h. 25.25
d. 145 i. 27.1875
e. 255 j. 23.1

Solución:
Mediante el método de las sucesivas divisiones por 2, encontramos que lo siguiente:
a. 6410=(26)10=1000000BP
b. 10010=(26+25+22)10=(64+32+4)10=1100100BP
c. 11110=(26+25+23+22+21+20)10=(64+32+8+4+2+1)10=1101111BP
d. 14510=(27+24+20)10=(128+16+1)10=10010001BP
e. 25510=(27+26+25+24+23+22+21+20)10=(128+64+32+16+8+4+2+1)10=11111111BP
f. 50010=(28+27+26+25+24+22)10=(256+128+64+32+15+4)10=111110100BP
g. Para la parte entera: 3410=(25+22)10=(32+2)10=100010BP
Para la parte fraccionaria, seguimos el método de multiplicaciones sucesivas por 2:
0.75 · 2 = 1.5 → 1
0.5 · 2 = 1.0 → 1
Por tanto: 34.7510=100010.11BP

h. Para la parte entera: 2510=(24+23+20)10=(16+8+1)10=11001BP


Para la parte fraccionaria:
0.25 · 2 = 0.5 → 0
0.5 · 2 = 1.0 → 1
Por tanto: 25.2510=11001.01BP

i. Para la parte entera: 2710=(24+23+21+20)10=11011BP


Para la parte fraccionaria:
0.1875 · 2 = 0.375 → 0
0.375 · 2 = 0.75 → 0
0.75 · 2 = 1.5 → 1
2
0.5 · 2 = 1.0 → 1
Por tanto: 27.187510=11011.0011BP

j. Para la parte entera: 2310=(24+22+21+20)10=(16+4+2+1)10=10111BP


Para la parte fraccionaria:
0.1 · 2 = 0.2 → 0
0.2 · 2 = 0.4 → 0
0.4 · 2 = 0.8 → 0
0.8 · 2 = 1.6 → 1
0.6 · 2 = 1.2 → 1
0.2 · 2 = 0.4 0 y así sucesivamente, pues la representación de este número es periódica en binario
puro.
Por tanto: 23.110= 10111.0 00110 BP

3. Convertir los siguientes números enteros hexadecimales en sus equivalentes decimales:


a. C
b. 9F
c. D52
d. 67E
e. ABCD

Solución:
a. C16=1210.
b. 9F16=(9·161+15·160)10=15910
c. D5216=(13·162+5·161+2·160)10=341010
d. 67E16=(6·162+7·161+14·160)10=166210
e. ABCD16=(10·163+11·162+12·163+13·160)10=4398110

3
4. Convertir los siguientes números hexadecimales a sus equivalentes decimales:
a. F.4
b. D3.E
c. 111.1
d. 888.8
e. EBA.C

Solución:
a. F.416=(15·160+4·16-1)10=15.2510
b. D3.E16=(13·161+3·160+14·16-1)10=211.87510
c. 111.116=(1·162+1·161+2·160+1·16-1)10=273.062510
d. 888.816=8·111.116=2184.510
e. EBA.C16=(14·162+11·161+10·160+12·16-1)10=3770.7510

5. Convertir los números (AF315)16 y (7326)8 a base 10 y base 2.

Solución:
AF31516=(10·164+15·163+3·162+1·161+5·160)10=71758910
Por otro lado, convirtiendo cada dígito hexadecimal en su equivalente binario, encontramos:
AF31516= 10101111001100010101 BP
{{{{{
A F 3 1 5

73268=(7·83+3·82+2·81+6·80)10=379810
Igualmente: 73268= 111
{{{011010110
{ BP
7 3 2 6

4
6. Convertir los números (245.625)10 y (1797.223)10 a binario, octal y hexadecimal.

Solución:
a. Para pasar a binario, consideramos primero la parte entera:
24510=(27+26+25+24+22+20)10=(128+64+32+16+4+1)10=11110101BP
Para la parte fraccionaria, multiplicamos sucesivamente por 2:
0.625 · 2 = 1.25 → 1
0.25 · 2 = 0.5 → 0
0.5 · 2 = 1.0 → 1
Luego: 245.62510=11110101.101BP

Pasar a octal, teniendo el binario, es inmediato: 245.62510= 011


{110101.101
{{ { BP=365.58
3 6 5 5

Ídem para hexadecimal: 245.62510= 1111


{{ { BP=F5.A16
0101.1010
F 5 A

b. Consideremos de nuevo sólo la parte entera:


179710=(210+29+28+22+20)10=11100000101BP
Para la parte fraccionaria:
0.223 · 2 = 0.446 → 0
0.446 · 2 = 0.892 → 0
0.892 · 2 = 1.784 → 1
0.784 · 2 = 1.568 → 1
0.568 · 2 = 1.136 → 1
0.136 · 2 = 0.272 → 0 (y así sucesivamente hasta encontrar el valor periódico).
Luego: 1797.22310=11100000101.001110...BP

Pasar a octal es inmediato: 1797.22310= 011100000101.001


{{{{ {{ 110 BP=3405.16...8
3 4 0 5 1 6

Ídem para hexadecimal: 1797.22310= 0111


{ 0000
{{ { BP=705.3...16
0101.0011
7 0 5 3

5
7. Convertir el número (49403180.AF7)16 a binario, octal y decimal.

Solución:
Para pasar a binario, expandimos cada dígito hexadecimal en su equivalente binario:
49403180.AF716= 0100 1001 0100 0000 0011 0001 1000 0000.1010 1111 0111BP
Para octal, podemos reagrupar de 3 en 3 el número binario:
49403180.AF716=11120030600.53678
Por último, para pasar a decimal, utilizamos la fórmula habitual de potencias de 16:
49403180.AF716=(4·167+9·166+4·165+3·163+1·162+8·161+10·16-1+15·16-2+
+7·16-3)10=(1.2289437·109)10

8. Convertir los siguientes números de base 10 a base 2, base 5, base 8 y base 16 y verificar los
resultados:
a. 13
b. 94
c. 356

Solución:
Pasar pasar de base 10 a base 2, habrá que dividir sucesivamente por 2 e ir recogiendo los restos
de las divisiones. De forma análoga se procederá para pasar a base 5, 8 y 16.

a. 1310=(23+22+20)10=(8+4+1)10=1101BP
1310=(2·51+3·50)10=(10+3)10=235
1310= 001
{{ 101 BP=158
1 5

1310=D16

b. 9410=(26+24+23+22+21)10=(64+16+8+4+2)10=1011110BP
9410=(3·52+3·51+4·50)10=(75+15+4)10=3355
9410= 001
{{{011110 BP=1368
1 3 6

9410= 0101
{1110
{ BP=5E16
5 E

6
c. 35610=(28+26+25+22)10=(256+64+32+4)10=101100100BP
35610=(2·53+4·52+1·51+1·50)10=(250+100+5+1)10=24115
35610= 101
{{{100100 BP=5448
5 4 4

35610= 0001
{ 0110 { BP=16416
{ 0100
1 6 4

9. Dado el número X=(543.21)6, expresarlo en base 16 con cuatro dígitos fraccionarios y los
dígitos enteros que sea necesario.

Solución:
La solución propuesta consiste en hacer un cálculo intermedio para pasar el número X a base
decimal, y luego, a hexadecimal:
543.216=(5·62+4·61+3·60+2·6-1+1·6-2)10= 207.361 10
Pasemos a hexadecimal, dividiendo la parte entera sucesivamente por 16:
20710=(12·161+15·160)10=CF16
Con respecto a la parte fraccionaria, multiplicamos sucesivamente por 16 hasta obtener 4 dígitos:
0.361 · 16 = 5.7 → 5
0.7 · 16 = 12.4 → 12 → C

0.4 · 16 = 7.1 → 7
0.1 · 16 = 1.7 → 1
0.7 ... (periódicamente)
Luego: 543.216= 207.361 10= CF .5C 71 16

7
10. Convertir los siguientes números de base 10 a base 2.
a. .00625
b. 43.32
c. .51

Solución:
a. Por el método de multiplicaciones sucesivas, obtenemos lo siguiente:
0.00625 · 2 = 0.0125 → 0
0.0125 · 2 = 0.025 → 0
0.025 · 2 = 0.05 → 0
0.05 · 2 = 0.1 → 0
0.1 · 2 = 0.2 → 0
0.4 · 2 = 0.8 → 0
0.8 · 2 = 1.6 → 1
0.6 · 2 = 1.2 → 1
0.2 · 2 = 0.4 → 0
0.4 ... (periódicamente)

Luego: 0.0062510= 0.000000110 2

b. Parte entera: 4310=(25+23+21+20)10=101011BP


Para la parte fraccionaria:
0.32 · 2 = 0.64 → 0
0.64 · 2 = 1.28 → 1
0.28 · 2 = 0.56 → 0
0.56 · 2 = 1.12 → 1
0.12 · 2 = 0.24 → 0
0.24 · 2 = 0.48 → 0
0.48 · 2 = 0.96 → 0
0.96 · 2 = 1.92 → 1
0.92 · 2 = 1.84 → 1

8
0.84 · 2 = 1.68 → 1 (y así sucesivamente).
Luego: 43.3210=101011.0101000111...BP

c. Para este caso tenemos:


0.51 · 2 = 1.02 → 1
0.02 · 2 = 0.04 → 0
0.04 · 2 = 0.08 → 0
0.08 · 2 = 0.16 → 0
0.16 · 2 = 0.32 → 0
0.32 · 2 = 0.64 → 0
0.64 · 2 = 1.28 → 1
0.28 · 2 = 0.56 → 0
0.56 · 2 = 1.12 → 1 (y así sucesivamente).
Luego 0.5110 = 0.100000101BP

11. Escribir el equivalente de base 8 de los siguientes números en base 2:


a. 10111100101
b. 1101.101
c. 1.0111

Solución:
Reagrupando los dígitos binarios de 3 en 3 obtenemos los siguientes resultados:

a. 010111100101 BP=27458
{{{{
2 7 4 5

b. 001
{{ { BP=1558
101.101
1 5 5

c. 001
{.011100 BP=1.348
{{
1 3 4

9
12. Calcular para las secuencias de 16 bits dadas su representación octal y hexadecimal:
A = 0000 0110 0000 0111
B = 0000 0000 1101 0110
C = 1100 0001 1111 0011
D = 1001 0000 0000 1010

Solución:
A= 0000
{{{{ 011000000111 BP=60716= 000 000011000000111 BP=30078
{{{{{{
0 6 0 7 0 0 3 0 0 7

B= 0000
{{{{ 000011010110 BP=D616= 000 { =3268
000000011010110
{{{{{
0 0 D 6 0 0 0 3 2 6

C= 1100
{{ 00011111
{{ 0011 BP=C1F316= 001
{100000111110011 BP=1407638
{{{{{
C 1 F 3 1 4 0 7 6 3

D= 1001
{{{{000000001010 BP=900A16= 001001000000001010 BP=1100128
{{{{{{
9 0 0 A 1 1 0 0 1 2

13. Calcular el valor decimal de los números binarios (11100111) y (10111111) suponiendo que
están representados en complemento a 2. Repetir el ejercicio suponiendo que están
representados en complemento a 1.

a) Representación C2:
11100111C2 es un número negativo, ya que el primer bit es 1. Para calcular el decimal
correspondiente, lo pasamos a positivo mediante la operación de C2:
C2(11100111)=00011001C2, cuya representación coincide en binario puro. Luego:
00011001C2=00011001BP=(24+23+20)10=(16+8+1)10=+2510
Por tanto: 11100111C2=−2510

Alternativa: podemos calcular directamente el valor decimal de la siguiente manera:


11100111C2=(−27+26+25+22+21+20)10=(−128+64+32+4+2+1)10=−2510

Hagamos lo mismo con el otro número:


10111111C2 es también negativo por la misma razón que en el caso anterior. Lo pasamos a
positivo mediante la operación de C2:

10
C2(10111111)=01000001C2=01000001BP=(26+20)10=(64+1)10=+6510
Por tanto: 10111111C2=−6510

Alternativa: calculando el decimal directamente, resulta:


10111111C2=(−27+25+24+23+22+21+20)10=(−128+32+16+8+4+2+1)10=−6510

b) Representación C1:
11100111C1 es un número negativo, ya que el primer bit es 1. Lo pasamos a positivo mediante la
operación de C1:
C1(11100111)=00011000C1 (invertir ceros y unos). Este número coincide con su representación
en binario puro. Entonces:
00011000C1=00011000BP=(24+23)10=(16+8)10=+2410
Por tanto: 11100111C1=−2410
Análogamente: 10111111C1 es también negativo. Lo pasamos a positivo con la operación de C1:
C1(10111111)=01000000C1=01000000BP=(26)10=6410. Entonces:
10111111C1=−6410

14. Resolver los ejercicios siguientes:


a. Representar (-499)10 en magnitud y signo con 10 bits.
b. Representar (-628)10 en complemento a 2 con 10 bits.
c. Convertir a base 10 el número binario 1001000110, dado en magnitud y signo.
d. Convertir a base 10 el número binario 1110011101, dado en complemento a 2.
e. ¿Cuál es el rango del sistema de numeración de complemento a 2 con 10 bits?
f. ¿Cuál es el mínimo número de bits necesarios para poder representar cantidades en el
rango ±105 utilizando el sistema de complemento a 2?

Solución:

a. Como se trata de un número negativo, el bit de signo será 1. Vamos a calcular por tanto la
magnitud. Para ello pasamos 49910 a binario puro. Por sucesivas divisiones por 2, encontramos
que:
49910=(28+27+26+25+24+21+20)10=(256+128+64+32+16+2+1)10=111110011BP
Por tanto: 49910=1111110011MS

11
b. Con sólo 10 bits, no podemos representar (-628)10 en C2, ya que el rango de representación es
[-512, 511].

c. Para convertir 1001000110MS a decimal, hay que tener en cuenta que el bit de signo es 1, luego
es un número negativo. En cuanto a la magnitud:
001000110BP=(27+22+21)10=(128+4+2)10=13410
Luego: 1001000110MS=−13410

d. Podemos convertir 1110011101C2 a decimal de dos maneras:


1) Directamente:
1110011101C2=(−29+28+27+24+23+22+20)10=(−512+256+128+16+8+4+1)10=−9910
2) Calculando el C2 para el número a positivo y luego convertirlo a decimal como en BP:
C2(1110011101)=0001100011C2=(26+25+21+20)10=(64+32+2+1)10=+9910
Luego 1110011101C2=−9910

e. Para el C2 con 10 bits, el rango de representación es: [−29,+29−1]=[−512,511]

f. Para poder representar 10000010 en C2, antes que nada vamos a ver cuántos bits necesita en
BP. Para ello, sin tener que realizar la conversión, podemos averiguarlo mediante el logaritmo en
base 2 de este número:
log2(100000)=log10(100000)/log10(2)~16.6
Luego son necesarios 17 bits para representar dicho número en BP. Como en C2 el primer bit es
un bit de signo, en total necesitaremos 18 bits.

12
15. La primera expedición a Marte encontró sólo las ruinas de una civilización. De los artefactos
y de las imágenes, los exploradores dedujeron que las criaturas que construyeron esta
civilización fueron seres de cuatro piernas con un tentáculo saliente de un extremo con varios
“dedos” prensiles. Después de mucho estudio, los exploradores fueron capaces de traducir las
matemáticas marcianas. Encontraron la siguiente ecuación: 5x2- 50x + 125 = 0 con las
soluciones indicadas x=5 y x=8. El valor x=5 parece bastante lógico, pero x=8 requiere
alguna explicación. Luego los exploradores reflexionaron sobre la forma en que se
desarrollaron los sistemas numéricos de la tierra y encontraron evidencia de que el sistema
marciano tenía una historia similar. ¿Cuántos dedos tenían los marcianos?

16. Emparejar las siguientes combinaciones binarias de 8 bits con sus valores en base 10 y los
sistemas en que se encuentran representadas, justificando las respuestas (¡si algún valor en
una columna no puede emparejarse será imprescindible indicarlo explícitamente!):

Combinación binaria Número en base 10 y sistema utilizado


a) 10000111 1) 48 en magnitud y signo
b) 10111011 2) –163 en complemento a 1
c) 10100011 3) –121 en complemento a 2
d) 00110000 4) –96 en binario puro
e) 10000110 5) 95 en complemento a 1
f) 11100111 6) –121 en complemento a 1
g) 11100000 7) 121 en binario puro
h) 11000001 8) –103 en magnitud y signo
i) 01111001 9) –63 en complemento a 2
j) 01011111 10) 187 en complemento a 2

13
14
17. Emparejar las siguientes combinaciones binarias de 8 bits con sus valores en base 10 y los
sistemas en que se encuentran representadas, justificando las respuestas (¡si algún valor en
una columna no puede emparejarse será imprescindible indicarlo explícitamente!).

Combinación binaria Número en base 10 y sistema utilizado


a) 01100101 1) –73 en complemento a 2
b) 10111001 2) 38 en complemento a 1
c) 11011111 3) 30 en módulo y signo
d) 01001001 4) –13 en complemento a 2
e) 00011110 5) 101 en binario puro
f) 10010110 6) –95 en módulo y signo
g) 00100110 7) –140 en complemento a 1
h) 11001110 8) –71 en complemento a 2
i) 01110011 9) –49 en complemento a 1
j) 11110011 10) –22 en binario puro

Solución:

Vamos a convertir los números de la columna de la derecha a sus equivalentes en binario, para
ver si aparecen en la columna izquierda.

1) -73 en C2:
Puede verse fácilmente que: +73=64+8+1=26+23+20, luego +7310 es 01001001C2.
Para calcular -7310, hallamos el C2 de este número. Entonces:
-7310 = C2(010010001)=10110111C2, que no está en la lista izquierda.

2) 38 en C1:
Descomponemos: 38=32+4+2=25+22+21, luego 3810=00100110C1, que corresponde a g.

3) 30 en MS:
Como es un número positivo, el bit de signo es 0.
Por otro lado, 30=16+8+4+2=24+23+22+21, luego 3010=00011110MS, que corresponde a e.

4) -13 en C2:
Por un lado, +13=8+4+1=23+22+20, luego +1310=00001101C2.
Para calcular -1310, hallamos el C2 de este número. Entonces:

15
-1310=C2(00001101)=11110011C2, que corresponde a j.

5) 101 en BP:
Puede verse que 101=64+32+4+1=26+25+22+20, luego 10110=01100101BP, que corresponde a a.

6) -95 en MS:
Como es un número negativo, el bit de signo es 1.
Por otro lado, +95=64+16+8+4+2+1=26+24+23+22+21+20, luego -9510=11011111MS, que
corresponde con c.

7) -140 en C1.
Con 8 bits, este número no es representable en C1, ya que el rango es: [-127, +127]. Por tanto, no
corresponde a ninguna respuesta de la columna izquierda.

8) -71 en C2.
Por un lado, +71=64+4+2+1=26+22+21+20, luego +7110=01000111C2.
Para calcular -7110, hallamos el C2 de este número. Entonces:
-7110=C2(01000111)=10111001C2, que corresponde con b.

9) -49 en C1.
Por un lado, +49=32+16+1=25+24+20, luego +4910=00110001C1.
Para calcular -4910, hallamos el C1 de este número. Entonces:
-4910=C1(00110001)=11001110C1, que corresponde con h.

10) -22 en BP.


Por ser un número negativo, no se puede representar en binario puro.

Por tanto, los emparejamientos quedan así:

a 5
b 8
c 6

16
e 3
g 2
h 9
j 4

18. Sumar los siguientes números binarios, mostrando todos los acarreos:
110101+11001
101110+100101

19. Determinar en cuáles de las siguientes operaciones (con operandos representados en Ca2 de 4
bits), el resultado no es correctamente representable, es decir, se produce desbordamiento:
0110+0101
0000-1111
1001-1011
0100-1110
1001+1111
0000+1111

20. Establecer una regla de desbordamiento para la suma de números enteros en Ca2.

21. Hallar el valor decimal, la suma y la diferencia de los números binarios A=11100111 y
B=10111111, su suma y diferencia, suponiendo que:
a. Ambos están representados en MS.
b. Ambos están representados en Ca2.
c. Ambos están representados en Ca1.

Solución:
a. Si están en magnitud y signo, ambos números son negativos, pues el bit de signo en ambos
casos es 1. Calculemos el valor decimal viendo el módulo:
|A|=1100111BP=(26+25+22+21+20)10=(64+32+4+2+1)10=10310
|B|=0111111BP=(25+24+23+22+21+20)10=(32+16+8+4+2+1)10=6310
Por tanto: A=−10310 y B=−6310.

Procedamos a sumar: como ambos números son negativos, hay que sumar los módulos y al
resultado le colocamos un bit de signo 1:

17
1 1 0 0 1 1 1
+ 0 1 1 1 1 1 1
1 0 1 0 0 1 1 0

Problema: como sólo disponemos de 7 bits para representar el módulo, se ha producido un


desbordamiento. Por tanto, en MS no es representable el resultado de la suma.
Hagamos la resta. Para ello, comprobamos que |A|>|B|, con lo que haremos la resta A-B. Como A
es más negativo que B, el resultado de la operación también es negativo y llevará un bit de signo
1:
1 1 0 0 1 1 1
− 0 1 1 1 1 1 1
0 1 0 1 0 0 0

Por tanto A-B = 10101000MS

b. Si los números están en C2:


A=11100111C2=(−27+26+25+22+21+20)10=(−128+64+32+4+2+1)10=−2510
B=10111111C2=(−27+25+24+23+22+21+20)10=(−128+32+16+8+4+2+1)10=−6510

Procedamos a sumar:
1 1 1 0 0 1 1 1
+ 1 0 1 1 1 1 1 1
1 1 0 1 0 0 1 1 0

En C2 despreciamos el acarreo superior. Por tanto, el resultado de A+B=10100110C2.

Hagamos la resta. Para ello, basta sumar al minuendo el C2 del sustraendo:


C2(B)=C2(10111111)=01000001C2
Luego:
1 1 1 0 0 1 1 1
+ 0 1 0 0 0 0 0 1
1 0 0 1 0 1 0 0 0

18
Despreciando el acarreo superior, el resultado queda: A-B=00101000C2.

c. Repitamos ahora el cálculo para C1:


A=11100111C1 ⇒ −A=C1(A)=00011000C1=(24+23)10=(16+8)10=2410 ⇒ A=−24C1
B=10111111C1 ⇒ −B=C1(B)=01000000C1=(26)10=6410 ⇒ B=−64C1

Hagamos la suma:
1 1 1 0 0 1 1 1
+ 1 0 1 1 1 1 1 1
1 1 0 1 0 0 1 1 0
+ 1
1 0 1 0 0 1 1 1

El acarreo superior se desprecia, pero en estos casos, hay que sumar una unidad al resultado. Por
tanto: A+B=10100111C1.

Vamos a por la resta: Para ello hay que sumarle al minuendo el C1 del sustraendo:
C1(B)=C1(10111111)=01000000C1

1 1 1 0 0 1 1 1
+ 0 1 0 0 0 0 0 0
1 0 0 1 0 0 1 1 1
+ 1
0 0 1 0 1 0 0 0

Despreciamos el acarreo superior, pero igual que en el caso anterior, es preciso sumar una unidad
al resultado. Por tanto: A-B=00101000C1.

19
22. Utilizando la aritmética binaria y habiendo convertido previamente a binario los operandos,
realizar las siguientes operaciones:
a. (695)10 + (272)10
b. (695)10 - (272)10
c. (272)10 * (23)10

Solución:
a. Pasemos primero ambos números a binario puro:
69510 = (29+27+25+24+22+21+20)10 = (512+128+32+16+4+2+1)10 = 1010110111BP
27210 = (28+24)10=(256+16)10 = 100010000BP

1 0 1 0 1 1 0 1 1 1
+ 0 1 0 0 0 1 0 0 0 0
1 1 1 1 0 0 0 1 1 1

b. Pasemos a restar:

1 0 1 0 1 1 0 1 1 1
− 0 1 0 0 0 1 0 0 0 0
0 1 1 0 1 0 0 1 1 1

c. Vamos a multiplicar, teniendo en cuenta que:


2310 = (24+22+21+20)10=(16+4+2+1)10=10111BP

1 0 0 0 1 0 0 0 0
× 1 0 1 1 1
1 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 0
1 1 0 0 0 0 1 1 1 0 0 0 0

20
d. Vamos a dividir, teniendo en cuenta que 1610=10000BP:

1 0 0 0 1 0 0 0 0 1 0 0 0 0
− 1 0 0 0 0 1 0 0 0 1
0 0 0 0 1 0
− 0 0 0 0 0
0 0 0 1 0 0
− 0 0 0 0 0
0 0 1 0 0 0
− 0 0 0 0 0
0 1 0 0 0 0
− 1 0 0 0 0
0 0 0 0 0

23. Realizar las siguientes operaciones, suponiendo primero que los sumandos están
representados en MS, luego en Ca2 y Ca1.
a. 100110+000100
b. 101101111-010000111
c. 000010000+11100001
d. 10110,1111-11100,111
e. 0000,10000+11,100001

24. Utilizando la aritmética binaria y suponiendo que los operandos están representados en
complemento a 2, realizar las operaciones:
a. 101101111 - 10000111
b. 000010000 + 11100001

Solución:
a. El primer número es negativo (bit de signo 1), mientras que el segundo es positivo (bit de
signo 0). Por tanto, para hacer la diferencia hay que sumar los módulos y cambiar de signo.
Vamos a pasar a positivo el minuendo: C2(101101111)=010010001. Entonces:

21
0 1 0 0 1 0 0 0 1
+ 0 1 0 0 0 0 1 1 1
1 0 0 0 1 1 0 0 0

Sin embargo, vemos que se ha producido desbordamiento, pues hemos sumado dos números
positivos (bit de signo 0) y hemos obtenido un resultado negativo (bit de signo 1). Por tanto, el
resultado de la operación no puede representarse con 9 bits en C2.

b. En este caso ambos números son positivos (bit de signo 0). Por tanto, los sumamos sin más:

0 0 0 0 1 0 0 0 0
+ 0 1 1 1 0 0 0 0 1
0 1 1 1 1 0 0 0 1

Por tanto, el resultado es 11110001C2.

25. Calcular la suma y resta tanto en binario como en hexadecimal de (1797,223)10 y (245,625)10.

26. Se dispone de un sistema de representación R de 8 bits. Dadas dos cantidades binarias


A=01100110 y B=11011001, se pide realizar la suma X=A+B en binario y comentar el
resultado obtenido:
a. Suponiendo que el sistema R es binario puro.
b. Suponiendo que el sistema R es magnitud y signo.
c. Suponiendo que el sistema R es complemento a 2.

Solución:
a. Supongamos que R es binario puro. Entonces:

0 1 1 0 0 1 1 0
+ 1 1 0 1 1 0 0 1
1 0 0 1 1 1 1 1 1

22
Se produce acarreo superior. Como nuestro sistema de representación sólo dispone de 8 bits, el
resultado de esta suma no podría representarse y se produciría un desbordamiento. Puede
comprobarse que A=01100110BP=10210 y B=11011001BP=21710.

b. Supongamos que R es MS. Entonces A es un número positivo (bit de signo 0) y B es un


número negativo (bit de signo 1). Como A>B, entonces A+B se reduce a calcular la resta |A| – |B|
y el resultado es positivo (bit de signo 0):

0 1 1 0 0 1 1 0
– 1 1 0 1 1 0 0 1
0 0 0 0 1 1 0 1

Puede comprobarse que A=01100110MS=10210 y B=11011001MS=–8910.

c. Para R es C2, también vemos que A es positivo y B es negativo. Hacemos la suma en C2:
0 1 1 0 0 1 1 0
+ 1 1 0 1 1 0 0 1
1 0 0 1 1 1 1 1 1

En este tipo de representación, despreciamos el acarreo superior. Por tanto, el resultado es:
A+B=00111111C2. Puede comprobarse que A=01

27. Sean dos números A=(2,7)10 y B=(0’2)10. Se pide lo siguiente:


a. Convertir A y B a binario con 8 cifras fraccionarias.
b. Calcular en binario X=2*A + 4*B, utilizando 8 cifras fraccionarias.
c. Convertir el número X obtenido en el apartado anterior a base 10.
d. Comentar el resultado obtenido en d) comparándolo con el resultado exacto real.

23
28. Sea un número entero binario X de 6 bits expresado en un determinado sistema de
representación R (binario puro, módulo y signo o complemento a 1 ó a 2). Se sabe que la
representación del número X+15 es 000010, que X-3 es 110000 y que 2*X es 100110, todas
ellas expresadas en el mismo sistema de representación R. ¿Cuál es el sistema en el que están
representadas? ¿Cuál es el número X, expresado en el sistema R? ¿Cuál es su valor expresado
en base 10?

Solución:

Vamos a operar por el método de reducción al absurdo.

a) Supongamos que el sistema de representación R es binario puro. De esta manera:


X+1510=000010BP=210, de lo que se deduce que X=210−1510=−1310.
Pero esto es absurdo, pues en binario puro no se pueden representar números negativos.

b) Supongamos que R es magnitud-signo. Entonces:


X+1510=000010MS=210 (bit de signo 0 → positivo). De lo que se deduce que X=−1310=101101MS
(bit de signo 1 → negativo).
Por otro lado, X−310=−1610, que en MS corresponde a 110000MS, lo cual coincide con el
enunciado.
Por último, 2*X=−2610=111010MS, pero esto es absurdo, ya que según el enunciado
2*X=100110.

c) Supongamos ahora que R es C1. Entonces:


X+1510=000010C1=210, luego X=−1310=110010C1 (ya que +1310=001101C1).
Por otro lado, X−310=−1610=101111C1 (ya que +1610=010000C1). Pero esto es absurdo, pues el
enunciado dice que X−310=110000.

d) Por eliminación, hemos averiguado que el sistema de representación es C2. Calculemos ahora
el valor de X:
Por un lado, X+1510=000010C2=210, luego X=−1310=110011C2, con lo que ya sabemos el valor de
X. Por otro lado:
X−310=110000C2=−1610. Efectivamente: −1610=110000C2, ya que +1610=010000C2.
Por último, 2*X=100110C2=−2610. Efectivamente: −2610=100110C2, ya que +2610=011010C2.
24
29. Responder razonadamente a las siguientes preguntas:
a. ¿Cómo se puede convertir un número en complemento a 2 a su representación en
complemento a 1?
b. ¿Cómo se puede convertir un número en complemento a 1 a su representación en
complemento a 2?
c. ¿Cómo se puede convertir un número en complemento a 2 a su representación en módulo
y signo?
d. ¿Cómo se puede convertir un número en módulo y signo a su representación en
complemento a 2?

30. Calcular la resta binaria 110101 - 100110. Posteriormente convertir al sistema decimal los
datos y el resultado. Comprobar que la resta es correcta.

31. Calcular la suma haxadecimal AB5 + 9F2. Convertir datos y resultado en sus equivalentes
decimales y comprobar que la suma es correcta.

32. Convertir al sistema binario y multiplicar 31B * 2A. Indicar el resultado en hexadecimal.
Posteriormente convertir datos y resultado de base 16 a base 10 mediante el método de suma
de series y comprobar el resultado.

33. Convertir a binario y calcular la división 33390 / 42 (ejercicio largo).

25

Vous aimerez peut-être aussi