Está en la página 1de 14

Ejercicios

Números Enteros

1- Interprete la secuencia de bits como:


Representación 0100 1000 0110 1001
Natural —número sin signo— ?
Entero en signo y magnitud ?
Entero en complemento a 2 ?
Caracteres —ASCII— ?
2- Interprete las siguientes secuencias de bits:
a- FFD8H como entero en complemento a dos.
b- 0231H como BCD.
c- 8C60H en punto flotante —4 bits de exponente, el signo y 11 de mantisa
—.
d- 3734H caracteres ASCII.
3- a- ¿Qué número representa 8000H interpretado en complemento a dos?
b- ¿Es posible codificar 215 usando complemento a 2 sobre 16 bits?
4- Codifique en binario:
a- 115 en complemento a dos usando 8 bits.

27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1

115(10) → 0111 0011(2)

Como el número es positivo:

• El MSB es un 0 (signo)

• El resto de los bits son la magnitud en binario

b- -83 en complemento a dos y en signo y magnitud usando 8 bits.

27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
 83(10) → 0101 0011 (2)

Complemento a dos:

-83 1 010 1100 1° Complementar a 1


1 2° Sumar 1 (binario)
-83 1 010 1101

En signo y magnitud:

+83 0 101 0011


-83 1 101 0011

c- 4895 en BCD.

BCD
CIFRA
(4 BITS)
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

4895 → 0100 1000 1001 0101 (BCD)

d- "HoLa?" en ASCII.
H → 72

o → 111

L → 76

a → 97

? → 63

HoLa? → 72 111 76 97 63

5- En el lenguaje C, hay dos tipos de enteros: los int, que suelen tener un
rango desde - 2147483648 hasta 2147483647; y los unsigned int suelen
tener un rango de 0 hasta 4294967295. ¿Cómo se explican estos valores?
6- a- Complete la siguiente tabla (en los dos casos, represéntelos sobre 8
bits):
Número Complemento a 2 Signo y magnitud
37
-37
b- Extienda los resultados de la parte a- para que queden en 16 bits.
7- Se están representando entidades usando 12 bits.
a- ¿Cuántos valores distintos se pueden representar?
b- Se están representando números con signo, y se desea que positivos y
negativos estén lo más balanceados posible, ¿cuál sería el rango de
números?
c- En general, para representar n entidades, ¿cuántos bits se necesitan?
8- Para cada uno de los siguientes valores indique cuál es el número
mínimo de bits para poder representarlos (sin signo).
a- 4095, 4096, 4097, 741, 0

 4095
log 24095=11.9996
El número mínimo de bits es 12.

 4096
log 24096=12,000 …
El número mínimo de bits es 13.

 4097
log 24097=12.00035
El número mínimo de bits es 13.

 741
log 741
2 =9.5333

El número mínimo de bits es 10.

 0
El número mínimo de bits es 1.

b- En general, si se tiene un número m, ¿cuántos bits se necesitan?

Se necesitarían el resultado por exceso de log 2m.

9- Se quiere desarrollar un computador con elementos de tres estados ("trits").


a- ¿Cuántos trits piensa usted que debería tener un byte?
b- En general, si se desea representar entidades usando n bits, ¿cuántos
trits se necesitan?
10-Las cadenas de ADN están compuestas por secuencias de 4 moléculas
llamadas bases: A, C, G y T. Las bases se interpretan agrupándolas de 3
en 3; cada grupo de 3 se llama un codón. Las proteínas, a su vez, son
secuencias de aminoácidos. Puesto que cada codón codifica un
aminoácido, una secuencia de codones codifica la “fórmula” para construir
una proteína.
a- Según lo anterior, ¿cuántos aminoácidos podría haber?
b- En realidad hay 20 aminoácidos diferentes; de los códigos restantes,
unos se usan para otros efectos, y otros se usan para codificación
redundante de algunos aminoácidos. ¿Por qué puede ser útil tener
codificaciones redundantes para algunos aminoácidos?
11-Hasta ahora hemos trabajado las cantidades de bits como números
enteros. En ocasiones tiene sentido trabajar con números fraccionarios de
bits.
a- En BCD se usan 4 bits para representar 10 valores diferentes. En teoría,
y usando cantidades fraccionarias de bits, ¿cuántos bits se necesitarían
para codificar 10 valores?
b- En consecuencia, ¿qué porcentaje de los bits se está desperdiciando?
8 dígitos BCD se representan en 32 bits; según lo anterior, ¿cuántos bits
está siendo usados efectivamente?
¿Cuántos valores binarios pueden ser representados con el número de bits
obtenido en el punto anterior? ¿Coincide con los valores BCD que se
pueden representar en 32 bits?
12-Se tiene la siguiente suma: B741H + A326H
a- ¿El método de suma cambia si los números están representados en
complemento a dos o si son números sin signo?
b- ¿El resultado es válido si los números están en complemento a dos? ¿Y
si son números sin signo?
c- si el segundo operando es E326H ¿cambian las respuestas de la parte
b-?

Números en Punto flotante


P1) ¿Qué número decimal es el A=0x4066C7E140000000?

P2) Representar el número X = 0.6875 en formato SP y DP según la norma IEEE-


754 y también el número X = -7,75 pero solo en formato SP. Solución: en SP es
0x3F300000 Solución: en SP es C0F80000

P3) Multiplicar las representaciones de X e Y según IEEE-754 en Simple


Precisión. X = -7.75 e Y = 0.6875

P4) Dividir las representaciones de X e Y según IEEE-754: Y / X. X = 7.75 e Y


= 255.5

X = 7.75

1° Expresión a binario

7.75(10) → (2)

7.75 = 7 + 0.75

7(10) = 111(2) 0.75 x 2 = 1.5

0.5 x 2 = 1

7.75(10) → 111.11(2)

2° Normalizar

111.11(2) = 111.11(2) x 20 = 1.1111(2) x 22

3° Cálculo del exponente en exceso

exp = 2(10) + 127(10) = 129(10)

129(10) = 1000 0001(2)

4° Cálculo de la mantisa

m = 1.11110000000000000000000 (el bit implícito no se almacena)

5° Bit de signo

s = 0 (positivo)
6° Representación

s Exponente sesgado Mantisa normalizada


0 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Y = 255.5

1° Expresión a binario

255.5(10) → (2)

255.5 = 255 + 0.5

255(10) = 1111 1111(2) 0.5 x 2 = 1

255.5(10) → 11111111. 1(2)

2° Normalizar

11111111. 1(2) = 11111111.1(2) x 20 = 1.11111111(2) x 27

3° Cálculo del exponente en exceso

exp = 7(10) + 127(10) = 134(10)

134(10) = 1000 0110(2)

4° Cálculo de la mantisa

m = 1.11111111000000000000000 (el bit implícito no se almacena)

5° Bit de signo

s = 0 (positivo)

6° Representación

s Exponente sesgado Mantisa normalizada


0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Y/X

Y 0100 0011 01111111 1000 0000 0000 0000


=
X 0100 00001111 1000 0000 0000 0000 0000

Y
=1.0000100111110111011
X

P5) ¿Qué número es el X=0x4066C7E140000000 si representa un real en D.P.


según la IEEE754?. ¿Qué número es el Y=0x40F80000 si representa un real en
S.P. según la IEEE-754?. Pasa el segundo número a Doble precisión y realiza
todas las operaciones aritméticas posibles sobre estos números, es decir: ¿X+Y,
X-Y, Y-X, X*Y, X/Y, Y/X?, usando el algoritmo expresado en el diagrama de
bloques.

P6) Representar el número X = 1785 en formato SP según la norma IEEE-754.


Resultado en S.P : 0x44DF2000 Resultado en D. P. : 0x409BE4000000000

P7) Representar el número X = -56.320 en formato S.P. y D.P. según la norma


IEEE-754. Resultado en S. P. : 0xC26147AE Resultado en D. P. :
0xC04C28F5C28F5C29

P8) Suma las representaciones de X e Y según IEEE-754. X = 271 e Y = 103

X = 271

1° Expresión a binario

271(10) → (2)

28 27 26 25 24 23 22 21 20
256 128 64 32 16 8 4 2 1
271(10) → 1 0000 1111(2)

2° Normalizar

1 0000 1111(2) = 1 0000 1111(2)x 20 = 1.00001111(2)x 28

3° Cálculo del exponente en exceso

exp = 8(10) + 127(10) = 135(10)

135(10) = 1000 0111(2)

4° Cálculo de la mantisa

m = 1.00001111000000000000000 (el bit implícito no se almacena)

5° Bit de signo

s = 0 (positivo)

6° Representación

s Exponente sesgado Mantisa normalizada


0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Y = 103

1° Expresión a binario

103(10) → (2)

28 27 26 25 24 23 22 21 20
256 128 64 32 16 8 4 2 1

103(10) → 110 0111(2)

2° Normalizar

110 0111(2) = 110 0111(2)x 20 = 1.100111(2)x 26

3° Cálculo del exponente en exceso


exp = 6(10) + 127(10) = 133(10)

133(10) = 1000 0101(2)

4° Cálculo de la mantisa

m = 1.10011100000000000000000 (el bit implícito no se almacena)

5° Bit de signo

s = 0 (positivo)

6° Representación

s Exponente sesgado Mantisa normalizada


0 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

X +Y = 271 + 103

X 0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y 0 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

P9) Resta las representaciones de X e Y según IEEE-754: X – Y. X = 170 e Y =


176

P10) Multiplicar y divide las representaciones de X e Y según IEEE-754: X * Y X/Y.


X = 3075.59375 e Y = -0.0234375 P11) Representar el número X =
-72.084228515625 en formato SP y DP según la norma IEEE-754.

P12) Multiplicar las representaciones de X e Y según IEEE-754: X * Y X/Y. X =


5.38 e Y = -2.71

X = 5.38

1° Expresión a binario

5.38(10) → (2)
5.38 = 5 + 0.38

5(10) = 0101(2) 0.38 x 2 = 0.76


0.76 x 2 = 1.52
0.52 x 2 = 1.04
0.04 x 2 = 0.08
0.08 x 2 = 0.16
0.16 x 2 = 0.32
0.32 x 2 = 0.64
0.64 x 2 = 1.28
0.28 x 2 = 0.56
0.56 x 2 = 1.12
0.12 x 2 = 0.24
0.24 x 2 = 0.48
0.48 x 2 = 0.96
0.96 x 2 = 1.92
0.92 x 2 = 1.84
0.84 x 2 = 1.68
0.68 x 2 = 1.36
0.36 x 2 = 0.72
0.72 x 2 = 1.44
0.44 x 2 = 0.88
0.88 x 2 = 1.76

5.38(10) → 101.011000010100011110101 (2)

2° Normalizar

101.011000010100011110101(2) = 1.01011000010100011110101(2) x 22
3° Cálculo del exponente en exceso

exp = 2(10) + 127(10) = 129(10)

129(10) = 1000 0001(2)

4° Cálculo de la mantisa

m = 1.01011000010100011110101 (el bit implícito no se almacena)

5° Bit de signo

s = 0 (positivo)

6° Representación

s Exponente sesgado Mantisa normalizada


0 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 1

Y = -2.71

1° Expresión a binario

-2.71(10) → (2)

2.71 = 2 + 0.71

2(10) = 10(2) 0.71 x 2 = 1.42


0.42 x 2 = 0.84
0.84 x 2 = 1.68
0.68 x 2 = 1.36
0.36 x 2 = 0.72
0.72 x 2 = 1.44
0.44 x 2 = 0.88
0.88 x 2 = 1.76
0.76 x 2 = 1.52
0.52 x 2 = 1.04
0.04 x 2 = 0.08
0.08 x 2 = 0.16
0.16 x 2 = 0.32
0.32 x 2 = 0.64
0.64 x 2 = 1.28
0.28 x 2 = 0.56
0.56 x 2 = 1.12
0.12 x 2 = 0.24
0.24 x 2 = 0.48
0.48 x 2 = 0.96
0.96 x 2 = 1.92
0.92 x 2 = 1.84

-2.71(10) → -10.1011010111000010100011(2)

2° Normalizar

-10.1011010111000010100011(2) = -1.01011010111000010100011(2) x 21

3° Cálculo del exponente en exceso

exp = 1(10) + 127(10) = 128(10)

128(10) = 1000 0000(2)

4° Cálculo de la mantisa

m = 1.01011010111000010100011 (el bit implícito no se almacena)

5° Bit de signo

s = 1 (negativo)

6° Representación

s Exponente sesgado Mantisa normalizada


1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 1 1

X * Y = 5.38 * -2.71

X * Y = 11000010001100100110010110111101110010100110100100001111111111

P13) Expresa el número X=0.0035 en Simple precisión según el IEEE-764.

hj

También podría gustarte