• No se han encontrado resultados

TEMA 6 Solución a alguno de los ejercicios propuestos en la hoja de problemas

N/A
N/A
Protected

Academic year: 2021

Share "TEMA 6 Solución a alguno de los ejercicios propuestos en la hoja de problemas"

Copied!
7
0
0

Texto completo

(1)

TEMA 6

Solución a alguno de los ejercicios propuestos en la hoja de problemas

9.-

b)

Planteamiento general del problema. Sea [-A,B] el intervalo de cantidades a representar (con -A

la cantidad más pequeña a representar y B la más grande), el tamaño de palabra de código ha de

ser el menor posible que asegure:

[-A,B]

Rango de representación del código

Binario Natural.

Eliminamos del intervalo de cantidades a representar las negativas, ya que en binario

natural no se pueden representar cantidades negativas.

Como todas las cantidades son enteras, q=0 (no necesitamos dígitos en la parte decimal de

la palabra de código).

En este caso la condición de inclusión planteada al comienzo quedará:

[0,255]

[0,(2

p

-1)]

De donde se deduce que el valor de p será el mínimo que cumpla la siguiente desigualdad:

255

2

p

-1

Que operando queda: p=8 dígitos binarios.

Calculados p y q, pasamos a representar las cantidades no negativas del enunciado con ese

tamaño de palabra de código (SE DEJA COMO TRABAJO PARA EL ALUMNO).

Complemento a uno.

Como todas las cantidades son enteras, q=0 (no necesitamos dígitos en la parte decimal de

la palabra de código).

En este caso la condición de inclusión planteada al comienzo quedará:

[-256,255]

[-(2

p-1

-1),(2

p-1

-1)]

En este caso el cálculo del valor de p mínimo será el siguiente:

*Cálculo del número mínimo de dígitos, p

1

, necesarios para representar el extremo

inferior del intervalo:

-256

-(2

p1-1

-1)

p

1

= 10 dígitos binarios

*Cálculo del número mínimo de dígitos, p

2

, necesarios para representar el extremo

superior del intervalo:

255

(2

p2-1

-1)

p

2

= 9 dígitos binarios

*Cálculo del número mínimo de dígitos, p, necesarios para representar todo el intervalo:

p = max(p

1

,p

2

)

p = 10 dígitos binarios

Calculados p y q, pasamos a representar las cantidades del enunciado con ese tamaño de

palabra de código (SE DEJA COMO TRABAJO PARA EL ALUMNO).

Complemento a dos.

Como todas las cantidades son enteras, q=0 (no necesitamos dígitos en la parte decimal de

la palabra de código).

En este caso la condición de inclusión planteada al comienzo quedará:

[-256,255]

[-2

p-1

,(2

p-1

-1)]

El cálculo del valor de p mínimo será el siguiente:

*Cálculo del número mínimo de dígitos, p

1

, necesarios para representar el extremo

inferior del intervalo:

-256

-2

p1-1

p

1

= 9 dígitos binarios

*Cálculo del número mínimo de dígitos, p

2

, necesarios para representar el extremo

superior del intervalo:

255

(2

p2-1

-1)

p

2

= 9 dígitos binarios

*Cálculo del número mínimo de dígitos, p, necesarios para representar todo el intervalo:

p = max(p

1

,p

2

)

p = 9 dígitos binarios

Calculados p y q, pasamos a representar las cantidades del enunciado con ese tamaño de

palabra de código (SE DEJA COMO TRABAJO PARA EL ALUMNO).

(2)

Exceso a N.

Como todas las cantidades son enteras, q=0 (no necesitamos dígitos en la parte decimal de

la palabra de código).

Primero calculamos el exceso, N. El intervalo de cantidades a representar es [-256,255]. El

“rango transformado” (el resultante de sumar a todas las cantidades del intervalo anterior N),

no debe tener ningún número negativo. Para que se cumpla esta condición, debemos sumar

el número negativo más pequeño, o sea, N=256.

Por lo tanto, el esquema de representación en este código quedará:

+256 Representación en binario natural

[-256,256]

[0,511]

——————————————

Combinación binaria

El cálculo de p en este caso se plantea sobre el “rango transformado”, ya que al ser éste

representado en binario natural, podemos calcularle para un determinado valor de p (para un

determinado valor de tamaño de palabra de código). La condición de inclusión planteada al

comienzo quedará:

[0,511]

[0,(2

p

-1)]

Que operando queda: p=9 dígitos binarios.

Calculados p y q, pasamos a representar las cantidades del enunciado con ese tamaño de

palabra de código (SE DEJA COMO TRABAJO PARA EL ALUMNO).

10.- (vamos a añadir a las cantidades del enunciado la siguiente: -63.95)

Planteamiento general del problema. Sea M la cantidad a representar, el tamaño de palabra de

código ha de ser el menor posible que cumpla:

M

Rango de representación del código

a) Binario Natural.

Eliminamos del intervalo de cantidades a representar las negativas, ya que en binario

natural no se pueden representar cantidades negativas.

Rango en binario natural: [0,(2

p

-1)+(1-2

-q

)].

Cálculo de q:

precisión = 0.5 = 2

-q

q = 1 dígito binario

Sustituyendo en el rango, éste queda: [0,(2

p

-1)+0.5] = [0,(2

p

-0.5)].

En este problema el cálculo de p depende de la cantidad a representar, por lo que vamos a

ver algún ejemplo ilustrativo.

M=7.134

La condición de pertenencia planteada al comienzo del problema quedará:

7.134

[0,(2

p

-0.5)]

Para que eso ocurra, es decir, que 7.134 caiga dentro del rango de representación, se

tiene que cumplir que esa cantidad sea menor que la máxima representable:

7.134

2

p

-0.5

Que operando (vamos a hacerlo sólo por esta vez, por si acaso…):

7.134

2

p

-0.5

7.134+0.5

2

p

log7.634

log2

p

log7.634

p log2

2

log

634

.

7

log

p

(p

2.9)

p min

p = 3 dígitos binarios.

Calculados p y q, pasamos a representar la cantidad (SE DEJA COMO TRABAJO

PARA EL ALUMNO).

b) Signo-Magnitud.

Rango en signo-magnitud: [-((2

p-1

-1)+(1-2

-q

)),(2

p-1

-1)+(1-2

-q

)].

Cálculo de q:

precisión = 0.25 = 2

-q

q = 2 dígitos binarios

Sustituyendo en el rango, queda: [-((2

p-1

-1)+0.75),(2

p-1

-1)+0.75] = [-(2

p-1

-0.25),(2

p-1

-0.25)].

En este problema el cálculo de p depende de la cantidad a representar, por lo que vamos a

ver algún ejemplo ilustrativo.

M=7.134

La condición de pertenencia planteada al comienzo del problema quedará:

7.134

[-(2

p-1

-0.25),(2

p-1

-0.25)]

(3)

Para que eso ocurra, es decir, que 7.134 caiga dentro del rango de representación, se

tiene que cumplir que esa cantidad sea menor que la máxima representable:

7.134

2

p-1

-0.25

Que operando, el p mínimo que cumple esa desigualdad es: p=4 dígitos binarios.

Calculados p y q, pasamos a representar la cantidad (SE DEJA COMO TRABAJO

PARA EL ALUMNO).

M=-63.94

La condición de pertenencia planteada al comienzo del problema quedará:

-63.94

[-(2

p-1

-0.25),(2

p-1

-0.25)]

Para que eso ocurra, es decir, que -63.94 caiga dentro del rango de representación, se

tiene que cumplir que esa cantidad sea mayor que la menor representable:

-63.94

-(2

p-1

-0.25)

Que operando (se recuerda que al multiplicar por -1 a ambos lados de una desigualdad,

la desigualdad cambia de sentido), el p mínimo que cumple esa desigualdad es: p=8

dígitos binarios.

Calculados p y q, pasamos a representar la cantidad (SE DEJA COMO TRABAJO

PARA EL ALUMNO).

c) Complemento a 1.

Rango en complemento a 1: [-((2

p-1

-1)+(1-2

-q

)),(2

p-1

-1)+(1-2

-q

)].

Cálculo de q:

precisión = 0.125 = 2

-q

q = 3 dígitos binarios

Sustituyendo en el rango: [-((2

p-1

-1)+0.875),(2

p-1

-1)+0.875] = [-(2

p-1

-0.125),(2

p-1

-0.125)].

En este problema el cálculo de p depende de la cantidad a representar, por lo que vamos a

ver algún ejemplo ilustrativo.

M=7.134

La condición de pertenencia planteada al comienzo del problema quedará:

7.134

[-(2

p-1

-0.125),(2

p-1

-0.125)]

Para que eso ocurra, es decir, que 7.134 caiga dentro del rango de representación, se

tiene que cumplir que esa cantidad sea menor que la máxima representable:

7.134

2

p-1

-0.125

Que operando, el p mínimo que cumple esa desigualdad es: p=4 dígitos binarios.

Calculados p y q, pasamos a representar la cantidad (SE DEJA COMO TRABAJO

PARA EL ALUMNO).

M=-63.94

La condición de pertenencia planteada al comienzo del problema quedará:

-63.94

[-(2

p-1

-0.125),(2

p-1

-0.125)]

Para que eso ocurra, es decir, que -63.94 caiga dentro del rango de representación, se

tiene que cumplir que esa cantidad sea mayor que la menor representable:

-63.94

-(2

p-1

-0.125)

Que operando (se recuerda que al multiplicar por -1 a ambos lados de una desigualdad,

la desigualdad cambia de sentido), el p mínimo que cumple esa desigualdad es: p=8

dígitos binarios.

Calculados p y q, pasamos a representar la cantidad (SE DEJA COMO TRABAJO

PARA EL ALUMNO).

d) Complemento a 2.

Rango en complemento a 2: [-2

p-1

,(2

p-1

-1)+(1-2

-q

)].

Cálculo de q:

precisión = 0.125 = 2

-q

q = 3 dígitos binarios

Sustituyendo en el rango: [-2

p-1

,(2

p-1

-1)+0.875] = [-2

p-1

,(2

p-1

-0.125)].

En este problema el cálculo de p depende de la cantidad a representar, por lo que vamos a

ver algún ejemplo ilustrativo.

M=7.134

La condición de pertenencia planteada al comienzo del problema quedará:

7.134

[-2

p-1

,(2

p-1

-0.125)]

Para que eso ocurra, es decir, que 7.134 caiga dentro del rango de representación, se

tiene que cumplir que esa cantidad sea menor que la máxima representable:

(4)

Que operando, el p mínimo que cumple esa desigualdad es: p=4 dígitos binarios.

Calculados p y q, pasamos a representar la cantidad (SE DEJA COMO TRABAJO

PARA EL ALUMNO).

M=-63.94

La condición de pertenencia planteada al comienzo del problema quedará:

-63.94

[-2

p-1

,(2

p-1

-0.125)]

Para que eso ocurra, es decir, que -63.94 caiga dentro del rango de representación, se

tiene que cumplir que esa cantidad sea mayor que la menor representable:

-63.94

-2

p-1

Que operando (se recuerda que al multiplicar por -1 a ambos lados de una desigualdad,

la desigualdad cambia de sentido), el p mínimo que cumple esa desigualdad es: p=7

dígitos binarios.

Calculados p y q, pasamos a representar la cantidad (SE DEJA COMO TRABAJO

PARA EL ALUMNO).

13.-

a)

Ubicación sobre la recta real de los números mayor (b), menor (-b) y más cercanos a 0 (-a y a),

identificando las distintas zonas de representación en punto flotante:

-b -a 0 a b

---|---|---|---|---|---

Zona de

desbordamiento

negativo

Zona de

representación

negativa

Zona de

subdesb.

negativo

Zona de

subdesb.

positivo

Zona de

representación

positiva

Zona de

desbordamiento

positivo

Calculemos cada uno de esos límites.

Mayor (b):

b = + mayor_mantisa · 2

mayor_exponente

s c m’

La palabra de código será: b

Interpretemos cada parte para obtener el valor representado.

*Exponente: c = e+N

e = c-N = 254(=11111110

(2

)-127 = 127

*Mantisa: m = 1.m’ = 1.1111…11

(2

= 1.FFFFFE

(16

= 1.999985

(10

*Signo: s = 0

signo +

Sustituyendo en b:

b = + 1.999985 · 2

127(10

= 1.999985 · 10

38.23(10

Menor (-b): -b = -1.999985 · 10

38.23(10

Menor positivo distinto de 0 (a):

a = + menor_mantisa · 2

menor_exponente

s c m’

La palabra de código será: b

Interpretemos cada parte para obtener el valor representado.

*Exponente: c = e+N

e = c-N = 0(=0000000

(2

)-126 = -126

(c=0

zona de excepción

N=126)

*Mantisa: m = 0.m’ = 0.0000…001

(2

= 1.000002

(16

= 2

-23

= 1.2·10

-7(10

(c=0

zona de excepción

m=0.m’)

*Signo: s = 0

signo +

Sustituyendo en a:

a = + 1.2·10

-7

·2

-126(10

Mayor negativo distinto de 0 (-a): -a = -1.2·10

-7

·2

-126(10

0 11111110 111111111 … 111

(5)

c) Representar M=3754.8976·10

8

en punto flotante, siguiendo la norma IEEE-754, precisión

simple.

Empezamos poniendo M de la forma m·2

e

:

M=2

x

log M = log 2

x

log M = x · log 2

2

log

M

x

=

x = 38.45

Luego: M = 2

38.45

= 2

0.45

· 2

38

. Donde 2

0.45

es la mantisa (m) y 38 es el exponente (e).

Representamos cada información:

*Empezamos por la mantisa. La pasamos a binario y posteriormente si no está normalizada

la normalizamos para obtener el exponente final.

2

0.45

1.37

(10

1.5EB851

(16

= 1.01011110101110000101000

(2

La mantisa está ya normalizada (puesta de la forma 1.m’) por lo que no hay que ajustar el

exponente.

*Obtenemos la característica. Primero calculamos el rango del exponente para ver si el que

tenemos que representar esta dentro de rango o no, y por lo tanto si la cantidad es

representable o no.

Zona de excepción (c=0

(10

):

exponente: c=0

(10

c = e+N

e = c-N = 0-126 (excepción) = -126

Zona normal (0

(10

< c < 255

(10

):

menor exponente: c=00000001

(2

=1

(10

c = e+N

e = c-N = 1-127 = -126

mayor exponente: c=11111110

(2

=254

(10

c = e+N

e = c-N = 254-127 = 127

Luego el rango del exponente será: [-126,127]

El exponente a representar, 38, está dentro del rango, por lo tanto la cantidad es

representable, y además pertenece a la zona normal de representación:

c = e + N = 38 + 127 = 165

(10

= 10100101

(2

*La cantidad es positiva por lo que el dígito de signo vale 0.

Juntando todo queda que la cantidad M es representada mediante la siguiente palabra de

código:

s c m’

3754.8976•10

8

Como la representación de la cantidad no es exacta se comete un error de redondeo o

precisión.

d) Añadimos un nuevo apartado: Representar M=30 en punto flotante, siguiendo la norma

IEEE-754, precisión simple.

Si la cantidad a representar es pequeña podemos emplear el siguiente método alternativo, que

aplica aritmética binaria, para poner M de la forma m·2

e

, con m normalizada:

M = 30

(10

= 11110

(2

= 1.1110·2

4

Representamos cada información:

*Puesto que ahora la mantisa ya ha sido normalizada al poner la cantidad de la forma m·2

e

,

empezamos por la característica, para ver si la cantidad es representable o no, o si

pertenece a la zona normal o a la zona de excepción. Calculado el rango del exponente en

el apartado anterior, vemos que el exponente a representar está dentro de ese rango, por lo

tanto la cantidad es representable, y además pertenece a la zona normal de representación.

Calculemos pues la característica:

c = e + N = 4 + 127 = 131

(10

= 10000011

(2

*Mantisa = m = 1.1110

m’ = 1110 =(con 23 dígitos) 11100000 … 00

*La cantidad es positiva por lo que el dígito de signo vale 0.

Juntando todo queda que la cantidad M es representada mediante la siguiente palabra de

código:

s c m’

30

0 10100101 01011110101110000101000

(6)

14.-

a)

Identificamos cada campo de la palabra de código, dividiendo ésta de acuerdo a los tamaños

indicados en el enunciado:

s c m’

1|01001|0101011001

La característica está entre su valor mínimo y máximo (00000

(2

(0

(10

) < c < 11110

(2

(14

(10

)) por lo

que estamos en zona normal de representación.

Interpretemos cada campo:

*Signo: s = 1

cantidad negativa

*Exponente: c = e+N

e = c-N donde c = 01001

(2

= 9

(10

Calculo de N: N = 2

nc-1

- 1 = 2

5-1

– 1 = 15

Luego: e = c - N = 9 - 15 = -6

*Mantisa: m = 1.m’ = 1.0101011001

(2

Juntando todo, la cantidad representada será:

M = (-1)

s

·m·2

e

= -1.0101011001·2

-6

d)

Identificamos cada campo de la palabra de código, dividiendo ésta de acuerdo a los tamaños

indicados en el enunciado:

s c m’

1|00000|0000001111

La característica se corresponde con su valor mínimo (c=00000

(2

(0

(10

)) por lo que estamos en la

zona de excepción de representación.

Interpretemos cada campo:

*Signo: s = 1

cantidad negativa

*Exponente: c = e+N

e = c-N donde c = 00000

(2

= 0

(10

Calculo de N: como estamos en zona de excepción será una unidad inferior al normal, es

decir, N = 2

nc-1

- 2 = 2

5-1

– 1 = 14

Luego: e = c - N = 0 - 14 = -14

*Mantisa. Como estamos en zona de excepción la normalización de la mantisa es:

m = 0.m’ = 0.0000001111

(2

Juntando todo, la cantidad representada será:

M = (-1)

s

·m·2

e

= -0.0000001111·2

-14

31.-

Sustituimos cada símbolo del texto por la palabra de código asociada según se muestra en la

tabla del código ASCII extendido. Vamos a representar una parte representativa del texto:

#

00100011

i

01101001

n

01101110

c

01100011

l

01101100

. . .

<

00111100

. . .

.

00101110

. . .

>

00111110

retorno de carro (ver a continuación de la tabla)

#

00100011

. . .

La codificación del retorno de carro es distinta para ficheros de texto en Windows y en UNIX:

*Codificación en UNIX. Se realiza mediante el carácter no imprimible LF

00001010

*Codificación en Windows. Se realiza mediante la secuencia de los siguientes dos caracteres

no imprimibles: CR

00001101 LF

00001010

(7)

32.-

Vamos a suponer que el texto ha sido creado mediante un editor de textos bajo entorno

Windows.

NOTA: hay un error en la secuencia de palabras de código ASCII, concretamente en la

codificación del retorno de carro, de forma que después de 0D falta la palabra de código 0A

Se sustituye cada palabra de código ASCII por el carácter asociado.

Secuencia pal. Cód.: 31 2C 32 2C 33 0D 0A 45 53 54 4F 20 65 73 20 75 6E 61 20 70 72 75 65 62 61 2E

Carácter asociado: 1 , 2 , 3

E S T O e s u n a p r u e b a .

El aspecto que tendría en pantalla la decodificación del contenido del fichero de texto sería

(interpretando el carácter no imprimible retorno de carro):

1,2,3

Referencias

Documento similar

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Sanz (Universidad Carlos III-IUNE): &#34;El papel de las fuentes de datos en los ranking nacionales de universidades&#34;.. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

Five-step methodology DEA-based * allows us the decompose the differences in the research output of universities in terms of Intra-field inefficiency (inefficiencies of the

– Seeks to assess the contribution of the different types of capital assets: tangible ICT, tangible non-ICT, intangibles (public and private) and public capital (infrastructures). ·

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

En este trabajo estudiamos la obra poética en español del escritor y profesor argelino Salah Négaoui, a través de la recuperación textual y análisis de Poemas la voz, texto pu-

En la parte central de la línea, entre los planes de gobierno o dirección política, en el extremo izquierdo, y los planes reguladores del uso del suelo (urbanísticos y