29
Representación interna de la información JuanjoAlfonso Juan Ba llester Freyder Espinosa

Representacion Interna De La Informacion

  • Upload
    g7dai

  • View
    2.464

  • Download
    10

Embed Size (px)

Citation preview

Page 1: Representacion Interna De La Informacion

Representación interna de la información

Juanjo AlfonsoJuan Ballester

Freyder Espinosa

Page 2: Representacion Interna De La Informacion

2.1 Complemento a 2 (C-2) Este sistema de representación utiliza el bit de mas a la izquierda

para el signo, correspondiendo el 0 para el signo + y el 1 para el signo -.

En el caso de los números positivos, los n-1 bits de la derecha representan el modulo.

El negativo de un numero se obtiene en dos pasos: 1- Se complementa el numero positivo en todos sus bits

(cambiando ceros por unos y viceversa), incluido el bit de signo, es decir, se realiza el complemento a 1.

2-Al resultado obtenido anteriormente se le suma 1 (en binario) despreciado el ultimo acarreo si existe.

Page 3: Representacion Interna De La Informacion

Si vemos la representación en complemento a 2 de los números 10 y -10 en el caso de = 8 bits:

Numero 10 0 0001010

signo + modulo

Numero -10 1 0001010

signo - modulo

Page 4: Representacion Interna De La Informacion

El rango de representación en este caso es asimétrico, este representa su mayor inconveniente, su formula viene

dada de la siguiente manera.

-2n-1 < x < 2n-1 = 1

Para el caso de n = 8 bits, tendremos:

-128 < x < 127

Page 5: Representacion Interna De La Informacion

2.2 Modulo y signo (MS) Este sistema de representación, el bit que esta situado

mas a la izquierda representa el signo, y su valor será 0 para el signo + y 1 para el signo -. El resto de bits (n-1) representan el modulo del numero.

Primer 0 seria signo, el resto el numero: 0 001010

Page 6: Representacion Interna De La Informacion

2.3 Exceso Z Este método de representación no utiliza ningún bit para

el signo, con lo cual todos los bits representan un modulo o valor. Este valor se corresponde con el numero representado mas el exceso, que para n bits viene dado por 2n-1.

Por ejemplo, para n = 8 bits el exceso es de 28-1 = 27 = 128, con lo cual el numero 10 vendrá representado por 10 + 128 = 138 (en binario); para el caso del numero -10 tendremos -10 + 128 = 118 (en binario).

Page 7: Representacion Interna De La Informacion

Viendo sus representaciones:

Numero 10: 1 0 0 0 1 0 1 0Numero -10: 0 1 1 1 0 1 0 1

En este caso, el 0 tiene una única representación, siendo para n = 8 bits:

Numero 0 (0 + 128): 1 0 0 0 0 0 0 0

Page 8: Representacion Interna De La Informacion

El rango de representación en este caso es asimétrico, este representa su mayor inconveniente, su formula viene

dada de la siguiente manera.

-2n-1 < x < 2n-1 = 1

Para el caso de n = 8 bits, tendremos:

-128 < x < 127

Page 9: Representacion Interna De La Informacion

Resulta interesante observar que todo numero representado en exceso Z tiene la misma

representación que en complemento a 2 con el bit de signo cambiado (primer bit de la izquierda).

Page 10: Representacion Interna De La Informacion

8 bits Valor Ca1 Ca2 MS Exceso Z

55 00110111 00110111 00110111 10110111-55 11001000 11001001 10110111 01001001-25 11100110 11100111 10011001 0110011128 00011100 00011100 00011100 10011100-26 11100101 11100110 10011010 01100110 28 00011100 00011100 00011100 10011100

-102 00011001 00011010 11100110 0001101028 00011100 00011100 00011100 10011100

102 01100110 01100110 01100110 11100110-100 00011011 00011100 11100100 00011100-128 011111111 10000000 -------- 00000000

0 00000000 00000000 00000000 10000000127 01111111 01111111 01111111 11111111

0 00000000 00000000 00000000 10000000 -0 11111111 -------- 10000000 --------

255 11111111 11111111 11111111 --------0 00000000 00000000 00000000 10000000

-128 01111111 10000000 -------- 00000000-1 11111110 11111111 10000001 01111111

-255 00000000 00000001 -------- 11111111-127 10000000 10000001 -------- 00000001

-0 11111111 -------- 10000000 --------0 00000000 00000000 00000000 10000000

127 01111111 01111111 01111111 01111111127 011111111 01111111 01111111 01111111

Page 11: Representacion Interna De La Informacion

Números reales

Los números reales pueden ser números racionales o irracionales. Los números racionales son aquellos que pueden expresarse como el cociente de dos números enteros, tal como 3/4, -21/3, 5, 0,1/2…… mientras que los irracionales son todos los demás.

Los números racionales también pueden describirse como aquellos cuya representación decimal es eventualmente periódica, mientras que los irracionales tienen una expansión decimal aperiódica:

Ejemplos:

1/4 = 0,250000... Es un número racional puesto que es periódico a partir del tercer numero decimal.5/7 = 0,7142857142857142857.... Es racional y tiene un período de longitud 6 (repite 714285). √7+1= 1,456465591………. es irracional y su expansión decimal es aperiódica.

3

Page 12: Representacion Interna De La Informacion

Representación de números reales

Page 13: Representacion Interna De La Informacion

• Cualquier número N puede representarse de la forma N= M * BE

N = Número a representarM= Mantisa

B= Base del sistema

E= Exponente

Por ejemplo: N= 5437,8932 = 5,4378932 * 103

Esta normalización viene estipulada por el IEEE ( Institute of Electric and Electronic Engineers), una asociación técnico-profesional mundial dedicada a la estandarización, entre otras cosas. Es la mayor asociación internacional sin fines de lucro formada por profesionales de las nuevas tecnologías, como ingenieros eléctricos, ingenieros en electrónica, científicos de la computación…..

Page 14: Representacion Interna De La Informacion

Su creación se remonta al año 1884, contando entre sus fundadores a personalidades de la talla de Thomas Alva Edison, Alexander Graham Bell……Hoy en día está formada por mas de 360000 voluntarios de unos 175 países y su trabajo es promover la creatividad, el desarrollo y la integración, compartir y aplicar los avances en las tecnologías de la información, electrónica y ciencias en general para beneficio de la humanidad y de los mismos profesionales.

Muchas aplicaciones requieren trabajar con números que no son enteros. Existen varias formas de representar números no enteros. Una de ellas es usando una coma fija.Este tipo de representación ubica siempre el punto o coma en alguna posición a la derecha del dígito menos significativo.Otra alternativa comúnmente usada es la que se conoce como representación en coma flotante. Bajo este esquema, un número puede ser expresado mediante un exponente y una mantisa. Por ejemplo el número 10.75 puede ser expresado como 10.75 * 10^0 o como 1.075 * 10^1.

Page 15: Representacion Interna De La Informacion

Dado que un número en punto flotante puede expresarse de distintas formas que son equivalentes, es necesario establecer una única representación. Es por ello que se trabaja con números normalizados. Decimos que un número está normalizado si el dígito a la izquierda del punto o coma está entre 0 y la base.En particular, decimos que un número binario está normalizado si el dígito a la izquierda del punto es igual a 1.

1.00 * 10^1- -----NORMALIZADO0.01 *10^-2 - -----NO NORMALIZADO

Page 16: Representacion Interna De La Informacion

Este estándar se desarrolló para facilitar la portabilidad de los programas de un procesador a otro y para alentar el desarrollo de programas numéricos sofisticados. Este estándar ha sido ampliamente adoptado y se utiliza prácticamente en todos los procesadores actuales. El estándar del IEEE define el formato para precisión simple de 32 bits y para precisión doble de 64 bits.

• Precisión Simple

Signo: Se encuentra en el bit más significativo.Exponente: Está conformado por los siguientes 8 bits de modo que el exponente mas negativo posible es 0000 0001 y el mas grande de los positivos es 1111 1110Mantisa: Que queda representada en los 23 bits restantes

Signo Exponente con signo Mantisa

1 bit 8bits 23 bits + el implícito

Estándar IEEE-754 para representación de Punto Flotante

Page 17: Representacion Interna De La Informacion

• Precisión doble

Igualmente la precisión doble está formado por los mismos parámetros:Signo: Que también se encuentra en el bit más significativo.Exponente: Está conformado por los siguientes 11 bits. Se utiliza unarepresentación en exceso 1023 de forma que el exponente más negativo posible quede en 000 0000 0001 y el más grande de los positivos en 111 1111 1110.Mantisa: Que en esta ocasión quedará representada en 52 bits.

Signo Exponente Mantisa

1 bit 11 bits 52 bits + el implícito

Page 18: Representacion Interna De La Informacion

La siguiente tabla muestra los rangos de representación de las precisiones simple y doble:

Límites representables en el IEEE-754

Precisión Negativos Positivos

Simple [-(2-2 ­-23­) * 2­127­, -(2 ­-126)­ ] [2 ­-126­, (2-2­-23­) * 2 ­127]

Doble [2­-1022­, (2 – 2­-52­) *2­ 1023­] [2­-1022­, (2-2­-52­) * 2­ 1023]

Page 19: Representacion Interna De La Informacion

Para el caso concreto de la precisión simple, hay cinco rangos numéricos que sonimposibles de representar.

1. Números negativos menores que -(2-2-23)*2127. Producen un desbordamientonegativo.2. Números negativos mayores que -2-126. Producen un desbordamiento por abajo.3. El número cero.4. Números positivos menores que 2-126. Producen un desbordamiento por abajo.5. Números positivos mayores que (2-2-23)*2127. Producen un desbordamientopositivo.

Page 20: Representacion Interna De La Informacion

El número cero no puede ser representado con este esquema debido a la utilización de la técnica del bit escondido. Para solventar este problema se le asigna un código especial en el que tanto la mantisa como el exponente tienen todos sus bits a cero y el bit de signo es indeterminado (con lo que el cero tiene dos posibles representaciones).Otros dos valores a los que se les asigna un código especial son +∞ y -∞ que secodifican con el pertinente bit de signo, el exponente con todo unos y la mantisa con todo ceros.

Otro caso especial a considerar con esta codificación es cuando se produce un resultado que es imposible de representar. Para esta situación se utiliza la notación “NaN” (acrónimo de Not a Number). Estos valores a su vez se dividen en dos categorías dependiendo si el resultado es indeterminado o inválido y se denotan respectivamente por los símbolos “QNaN” y “SNaN”.

Page 21: Representacion Interna De La Informacion

Procedamos pues a representar en formato coma flotante algunos números en base decimal como muestra:

+118

1er paso: convertir el número a binario 7 = 1110110 2º paso: normalizamos el número 1.1110110 * 10^6 3er paso: calculamos el exponente con exceso 127 para precisión simple 6 + 127 = 133 = 1000010 1 así pues tenemos que:

0 10000101 11101100000000000000000

Signo Exponente en exceso Mantisa

Pongamos otro ejemplo un poquito mas complicado:

Page 22: Representacion Interna De La Informacion

-118.625

- 1er paso: Convertimos ambas partes de la expresión en binario118= 1110110 y 0.625 = 101 por lo tanto 118,625= 1110110,101.Para hallar el valor de 0.625 en binario: 0.625 * 2 = 1.25

(1.25-1) * 2 = 0.5(0.5 – 0) * 2 = 1

- 2º paso: Normalizamos el número: Es decir, correremos la coma hacia la izquierda tantas veces como sea necesario hasta lograr que delante de ella solo quede un 1. Han sido 6 posiciones, por tanto: 1,110110101 * 10^6

- 3er paso: Calculamos el exponente con exceso 127. 6 + 127= 133= 10000101

1 10000101 11011010100000000000000

Signo Exponente en exceso Mantisa

Page 23: Representacion Interna De La Informacion

PROCEDIMIENTO PARA PASAR DE COMA FLOTANTE A DECIMAL

1º.- Se Identifican los campos del número binario

1 10000001 1.10001000000000000000000

Signo de la mantisa Exponente representado en exceso 127Mantisa normalizada con bit implícito

Ej. Pasar a coma flotante11000000110001000000000000000000

Page 24: Representacion Interna De La Informacion

2º.- Se convierten cada uno de los campos a decimal

1 Mantisa negativa⇒

10000001(2 129 +2⇒ ⇒

1.10001000000000000000000(2 1,10001000000000000000000(2⇒

PROCEDIMIENTO PARA PASAR DE COMA FLOTANTE A DECIMAL

Page 25: Representacion Interna De La Informacion

Con exponente +2 hay que desplazar la coma a la derecha(+2)2posiciones.

⇒110,001000000000000000000(2 ⇒ 6,125(10

3º.- El número final es la combinación de todos los valores de todos los valores de los campos -6,125

PROCEDIMIENTO PARA PASAR DE COMA FLOTANTE A DECIMAL

Page 26: Representacion Interna De La Informacion

1º El bit 31 tomará el valor del signo de la mantisa. (-6,125 ⇒ - ⇒ 1)

2º.- Pasar a binario la mantisa decimal.6=1100,125=0,001 que se obtiene de multiplicar por 2 sucesivamente, donde

la parte entera del producto es la que va a constituir el número que buscamos y utilizamos solo la parte decimal que es nuestro siguiente factor hasta alcanzar la unidad.

0,125*2= 0,250,25*2= 0,50,5 *2= 1

6,125=110,001(2

PROCEDIMIENTO PARA PASAR DE DECIMAL A COMA FLOTANTE

Con el número del ejemplo anterior -6,125

Page 27: Representacion Interna De La Informacion

3º Normalizar. Correr la coma a derecha o izquierda hasta convertir el número binario en un numero de la forma 1,… … ..

El número de desplazamientos va a dar valor al exponente de forma que:Desplazamiento a la derecha Exponente negativo⇒Desplazamiento a la izquierda Exponente positivo⇒6,125=110,001(2 1,10001 Exponente = 2⇒ ⇒2 expresado en exceso 127 129 ⇒ ⇒ 10000001(2

PROCEDIMIENTO PARA PASAR DE DECIMAL A COMA FLOTANTE

Page 28: Representacion Interna De La Informacion

4º.- Mantisa representada con bit implícito ⇒ 1,10001 10001 ⇒(el bit 1 de la parte entera no se representa)

5º.- El número final es 1 10000001 10001000000000000000000 (Se agregan a la derecha los “0” necesarios para completar los 23 bits de la mantisa)

6º.- Pasado a hexadecimal 1 100 0000 1 100 0100 0000 0000 0000 0000 = C0C40000(16

PROCEDIMIENTO PARA PASAR DE DECIMAL A COMA FLOTANTE

Page 29: Representacion Interna De La Informacion

0 10000101 11110101100000000000000

REPRESENTACION EN NOTACION DE COMA FLOTANTE DEL VALOR 125’815

11000111001110001110000000000000 Con el procedimiento anterior de coma flotante es -47328

Precisión Negativos PositivosSimple [-(2-2 ­-23­) * 2­127­, -(2 ­-126)­ ] [2 ­-126­, (2-2­-23­) * 2 ­127]

Doble [2­-1022­, (2 – 2­-52­) *2­ 1023­] [2­-1022­, (2-2­-52­) * 2­ 1023]