representaci´on de la informaci´on · contenido introduccion representacion num´erica...

67
Contenido Introducci´ on Representaci´ on Num´ erica Aritm´ etica Computacional Aritm´ etica de punto Flotante odigos Representaci´ on de la informaci´ on Prof. Rodrigo Araya E. [email protected] Universidad T´ ecnica Federico Santa Mar´ ıa Departamento de Inform´ atica Valpara´ ıso, 1 er Semestre 2006 RAE Representaci´ on de la informaci´ on

Upload: others

Post on 16-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Representacion de la informacion

Prof. Rodrigo Araya [email protected]

Universidad Tecnica Federico Santa MarıaDepartamento de Informatica

Valparaıso, 1er Semestre 2006

RAE Representacion de la informacion

Page 2: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

1 Introduccion

2 Representacion Numerica

3 Aritmetica Computacional

4 Aritmetica de punto Flotante

5 Codigos

RAE Representacion de la informacion

Page 3: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Introduccion

En el mundo que vivimos estamos rodeados de informacion, sedice la llamada “Sociedad de la informacion”.

Pero, ¿Que es la informacion?

RAE Representacion de la informacion

Page 4: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Definicion de Informacion

Datos: Representacion simbolica de un atributo ocaracterıstica.

Un dato por si solo no dice nada.

Informacion: Conjunto de datos procesados que nos permitenrealizar operaciones o tomar decisiones.

RAE Representacion de la informacion

Page 5: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Informacion

Existen distintos espacios en los cuales se puede representar lainformacion.

Espacio mental.

Espacio del lenguaje.

Espacio tipografico.

Espacio del Computador.

RAE Representacion de la informacion

Page 6: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Informacion Analogica e Informacion Digital

Comunmente la informacion es procesada de 2 maneras:analogica y digitalmente.

¿Cual es la diferencia entre informacion digital e informacionanalogica?

La representacion de la informacion esta dada por senales.

por lo que existen senales analogicas y senales digitales.

RAE Representacion de la informacion

Page 7: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Informacion Analogica e Informacion Digital

Una senal se puede considerar como una funcion en el tiempog(t).

Una funcion g(t) continua en el tiempo se dice que es unasenal analogica.

Por su parte, una senal digital es una funcion discreta(niveles).

RAE Representacion de la informacion

Page 8: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Senal Analogica

RAE Representacion de la informacion

Page 9: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Senal Digital

RAE Representacion de la informacion

Page 10: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Informacion Analogica e Informacion Digital

Senales Analogicas:

Audio.Instrumentos con agujas.

Senales Digitales:

TTL.instrumentos con indicadores numericos.

RAE Representacion de la informacion

Page 11: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Informacion Analogica e Informacion Digital

En la naturaleza todo es analogico, ya que fısicamente todo escontinuo.

los computadores realizan sus operaciones sobre informaciondigital.

Es posible convertir la informacion analogica en informaciondigital y vice versa (ADC y DAC).

RAE Representacion de la informacion

Page 12: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Informacion Analogica e Informacion Digital

¿Es mejor la informacion digital?

Se evitan errores debidos a cambios fısicos, como latemperatura, humedad, etc.

Se evitan los errores acumulativos.

RAE Representacion de la informacion

Page 13: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Representacion Numerica

Existen diversas representaciones numericas.

Sin duda, las mas faciles y comodas de utilizar para finesmatematicos, son las que se representan mediante basesnumericas.

Las representaciones numericas que utilizan bases, sonposicionales.

Es posible representar una misma cantidad numerica, endiferentes bases.

RAE Representacion de la informacion

Page 14: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Bases Numericas

Forma general de expresar un numero en funcion de su base

k1k2k3 . . . km = k1 ∗Bm−1 + k2 ∗Bm−2 + · · ·+ km−1 ∗B1 + km ∗B0

donde B =base y ki =la cifra i .

Las cifras ki pueden ser dıgitos entre 0 y B − 1.

RAE Representacion de la informacion

Page 15: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Numeros Decimales

La base mas comun y natural de utilizar es la base 10, la quecorresponde a los numeros decimales.

En esta base estamos acostumbrados a realizar todas nuestrasoperaciones de calculo.

Por ejemplo...

El numero 7523810 puede ser representado de la forma general, dela siguiente forma:

7 ∗ 104 + 5 ∗ 103 + 2 ∗ 102 + 3 ∗ 101 + 8 ∗ 10◦

.

RAE Representacion de la informacion

Page 16: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Numeros binarios

En el mundo digital, se utilizan generalmente representacionesque tienen solo 2 estados discretos (0 o 1, on u off, etc...).

Para ello se utilizan los numeros binarios {0,1} cuya base es 2.

Por ejemplo...

Si se tiene 10011102 corresponde a:

1 ∗ 26 + 0 ∗ 25 + 0 ∗ 24 + 1 ∗ 23 + 1 ∗ 22 + 1 ∗ 21 + 0 ∗ 20 = 7810

RAE Representacion de la informacion

Page 17: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Bases Numericas

En la computacion son muy utiles ademas las bases octal(8) yhexadecimal(16).

La utilidad de estas bases, se debe a que pueden representarinformacion binaria de manera compacta (8 y 16 bits).

RAE Representacion de la informacion

Page 18: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Sistemas Octal y Hexadecimal

Sistema Octal

Dıgitos: 0,1,2,...,6,7Ej:

53278 = 5 ∗ 83 + 3 ∗ 82 + 2 ∗ 81 + 7 ∗ 80 = 277510

Base Hexadecimal

Dıgitos: 0,1,2,...,9,A,B,C,D,E,FEj:

2A5D16 = 2 ∗ 163 + 10 ∗ 162 + 5 ∗ 161 + 13 ∗ 160 = 1084510

RAE Representacion de la informacion

Page 19: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Bases Numericas

Las bases numericas tambien se pueden extender pararepresentar numeros decimales.

De forma general:

k1k2k3 . . . km, kj · · · = k1∗Bm−1+k2∗Bm−2+· · ·+km∗B0+kj∗B−1

Por ejemplo...

376, 5310 = 3 ∗ 102 + 7 ∗ 101 + 6 ∗ 10◦ + 5 + 10−1 + 3 ∗ 10−2

1011, 0112 = 1 ∗ 23 + 1 ∗ 21 + 1 ∗ 2◦ + 1 ∗ 2−2 + 1 ∗ 2−3 = 11, 375372, 438 = 3∗82 +7∗81 +2∗80 +4 ∗ 8−1 + 3 ∗ 8−2 = 250, 546875

RAE Representacion de la informacion

Page 20: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Conversion de Bases Numericas

Para la conversion desde la base decimal, a otra base, serealizan divisiones sucesivas de los cocientes, por la base a lacual se transformara. Rescatando en cada paso los restos delas divisiones.

Por ejemplo...

Convertir 23410 a la base octal.234 8

29 23 50 3

→23410 = 3528

RAE Representacion de la informacion

Page 21: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Conversion desde la base Decimal

Ejemplo 2

Convertir 53710 a la base binaria.537 2

268 1134 067 033 116 18 04 02 01 00 1

→53710 = 10000110012

RAE Representacion de la informacion

Page 22: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Conversion desde la base Decimal

Ejemplo 3

Convertir 134510 a la base hexadecimal.1345 16

84 15 40 5

→134510 = 54116

RAE Representacion de la informacion

Page 23: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Conversion desde la base Decimal

Esta idea se puede extender ademas para numerosfraccionarios.

En este caso es necesario tratar la parte entera y la partedecimal, por separado.

Por ejemplo...

Convertir 23, 437510 a la base binaria.23 2

11 15 12 11 00 1

0,4375 2

0,875 21,750 21,500 21,000 2

→23, 437510 = 10111, 01112

RAE Representacion de la informacion

Page 24: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Conversion hacia la base Decimal

Para realizar una conversion desde cualquier base a la basedecimal, es necesario aplicar la formula general propuestaanteriormente:

k1k2k3 . . . km = k1∗Bm−1+k2∗Bm−2+· · ·+km−1∗B1+km∗B0

Por ejemplo...

Convertir 724, 348 a la base decimal.

7 ∗ 82 + 2 ∗ 81 + 4 ∗ 80 + 3 ∗ 8−1 + 4 ∗ 8−2 = 468,4375

RAE Representacion de la informacion

Page 25: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Conversion entre las bases de potencia de 2

De manera muy particular, entre las bases que son potenciasde 2, existe una propiedad que hace muy rapida la conversion.

Las mas conocidas son Binario, Octal y Hexadecimal.

El procedimiento de esta conversion se basa en utilizar laconversion a binario como conversion intermedia.

Es decir, por ejemplo para convertir un numero en base octala base hexadecimal, se convierte primero a binario y luego ahexadecimal.

RAE Representacion de la informacion

Page 26: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Conversion de una base potencia de 2 a Binario

Para realizar la conversion, se considera B = 2n, por lo quecada dıgito del numero en base B corresponden a n dıgitos debase binaria.

Por Ejemplo...

Para convertir 5248 a binario, se tiene que B = 8 = 23, por lo quen = 3. Luego cada dıgito del numero a convertir se traduce en 3dıgitos binarios.

5 2 41 0 1 0 1 0 1 0 0

→5248 = 1010101002

RAE Representacion de la informacion

Page 27: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Conversion de una base potencia de 2 a Binario

Ejemplo 2

Para convertir 3E716 a binario, se tiene que B = 16 = 24, por loque n = 4. Luego cada dıgito del numero a convertir se traduce en4 dıgitos binarios.

3 E 70 0 1 1 1 1 1 0 0 1 1 1

→3E716 = 11111001112

RAE Representacion de la informacion

Page 28: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Conversion de Binario a una base potencia de 2

Para este procedimiento se considera de igual manera,B = 2n, por lo que se deben hacer grupos de n dıgitos (dederecha a izquierda).

Por Ejemplo...

Para convertir 100110102 a Octal, se tiene que B = 8 = 23, por loque n = 3. Luego se agrupa de la siguiente forma:

1 0 0 1 1 0 1 02 3 2

→100110102 = 2328

RAE Representacion de la informacion

Page 29: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Conversion de Binario a una base potencia de 2

Ejemplo 2

Para convertir 11011100010102 a hexadecimal, se tiene queB = 16 = 24, por lo que n = 4.

1 1 0 1 1 1 0 0 0 1 0 1 01 B 8 A

→11011100010102 = 1B8A16

RAE Representacion de la informacion

Page 30: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Aritmetica de los Computadores

Como se explico anteriormente, los computadores tienen comounidad de almacenamiento, solo la capacidad de distinguirentre 2 estados (on u off, 0 o 1, etc..).

Los computadores pueden realizar operaciones aritmeticas, porlo que requieren de algun dispositivo de HW para almacenarlos numeros que se esten operando.

Estos dispositivos se denominan registros.

los registros tienen un ancho en bits, definido por laarquitectura. Actualmente los procesadores utilizan registrosde 32 o 64 bits.

RAE Representacion de la informacion

Page 31: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

El Registro

Un registro se representa por un conjunto de bits(generalmente 8, 16, 32 o 64).

un ejemplo de un registro de 16 bits esta dado por:1 1 0 0 1 0 1 1 0 0 0 1 1 0 1 1

Por convencion, los grupos de 8 bits(b) se denominanbytes(B).

RAE Representacion de la informacion

Page 32: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

El Registro

Podemos darnos cuenta, que si un numero debe seralmacenado en un registro, entonces el tamano maximo deeste numero esta limitado por el ancho del registro.

Con solo 16 bits el numero mas grande representable por unregistro es 216 − 1 = 65535.

Sin embargo, ¿Cuando hemos utilizado nuestros computadoresnormales (de 32 bits), hemos podido trabajar con numerosmayores a 232 − 1?

RAE Representacion de la informacion

Page 33: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Aritmetica de los Computadores

Sin duda, al hablar de operaciones aritmeticas se requiereademas que el computador sea capaz de trabajar con numerosnegativos y con numeros decimales.

¿Como se representa un numero negativo en un registro?

Existen diferentes formas de representar un numero negativo,pero por convencion el bit mas significativo del registrorepresenta el signo.

Numero positivo.0 1 0 0 1 0 1 1 0 0 0 1 1 0 1 1

Numero negativo.1 1 0 0 1 0 1 1 0 0 0 1 1 0 1 1

RAE Representacion de la informacion

Page 34: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Numeros negativos

Hay 3 formas de representar numeros negativos

Signo y Magnitud (S-M).Complemento 1 (C-1).Complemento 2 (C-2).

En estas 3 representaciones, los numeros positivos quedan dela misma forma.

RAE Representacion de la informacion

Page 35: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Signo y Magnitud

La idea de esta representacion, es reservar el bit massignificativo del registro, para el signo y en el resto de los bitsse almacena la magnitud.

En un registro de 16 bits, solo se utilizan 15 bits para lamagnitud, es decir, el rango representable en 16 bits es:-32767 a 32767.

Ejemplo

para representar el numero −1310 en un registro de 6 bits.1 0 1 1 0 1

RAE Representacion de la informacion

Page 36: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Signo y Magnitud

Segun el ancho n de un registro, el rango de numerosrepresentables esta dado por:

−(2n−1 − 1) ≤ N ≤ +(2n−1 − 1)

El problema que surge de esta representacion es el que existendos ceros (+0 y −0).

RAE Representacion de la informacion

Page 37: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Complemento 1

La idea de esta representacion es basicamente tomar unnumero positivo y luego complementar cada bit del registropara transformarlo en negativo.

este mecanismo es bastante sencillo y rapido de realizar.

Ejemplo

para representar el numero −1310 en un registro de 6 bits.

Primero se considera 1310

0 0 1 1 0 1

Luego se complementa cada bit1 1 0 0 1 0

RAE Representacion de la informacion

Page 38: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Complemento 1

Segun el ancho n de un registro, el rango de numerosrepresentables esta dado por:

−(2n−1 − 1) ≤ N ≤ +(2n−1 − 1)

Al igual que en S-M, existen dos ceros (+0 y −0).

RAE Representacion de la informacion

Page 39: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Complemento 2

En esta representacion, el Complemento 2 de N en un registrode m bits se obtiene calculando 2m − N.

Ejemplo

para representar el numero −1310 en un registro de 6 bits.1 0 0 0 0 0 00 0 0 1 1 0 10 1 1 0 0 1 1

→− 1310 = 1100112 en C-2.

RAE Representacion de la informacion

Page 40: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Complemento 2

La otra forma de calcular el Complemento 2, es calcularprimero el C-1 y luego sumar 1.

De esta forma, su calculo es bastante rapido y sencillo, por loque es muy facil de implementar por HW.

Ejemplo

para representar el numero −1310 en un registro de 6 bits.0 0 1 1 0 1 13

1 1 0 0 1 0 13 en C-1.+ 0 0 0 0 0 1 Se suma 1.

1 1 0 0 1 1 −1310 en C-2.

RAE Representacion de la informacion

Page 41: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Complemento 2

Segun el ancho n de un registro, el rango de numerosrepresentables esta dado por:

−(2n−1) ≤ N ≤ +(2n−1 − 1)

Con el C-2 se soluciona el problema de los dos ceros,existiendo un unico cero, por lo que el rango de numerosrepresentables es asimetrico.

RAE Representacion de la informacion

Page 42: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Suma de Registros

Para realizar sumas de registros, debemos sumar numerosbinarios.

La idea de esto es aprender como la maquina realiza lasoperaciones aritmeticas internamente.

Analizaremos los formatos C-1 y C-2 de representacion, yaque se pueden implementar por HW.

RAE Representacion de la informacion

Page 43: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Suma de Registros

Al realizar una suma, es posible tener un carry de salida y/oun carry de entrada.

Suma con carry de salida y sin carry de entrada:

1 1+ 1

0

Suma con carry de salida y carry de entrada:

1 11

+ 0

0

RAE Representacion de la informacion

Page 44: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Suma de Registros

Al sumar registros debemos tener en cuenta que es posiblecausar un overflow.

Recordemos que en n bits solo es posible representar numerosentre:

−(2n−1 − 1) y (2n−1 − 1) para C-1y −(2n−1) y (2n−1 − 1) para C-2.

RAE Representacion de la informacion

Page 45: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Suma de Registros en C-2

Algunos ejemplos...

Si queremos calcular (7− 4) utilizando registros de 5 bits.:

0 0 1 0 0 → 4.1 1 0 1 1 → −4 en C-11 1 1 0 0 → −4 en C-2

Luego,

1 1 10 0 1 1 1 → 7.

+ 1 1 1 0 0 → −4 en C-2.

0 0 0 1 1 → 3 en C-2.

RAE Representacion de la informacion

Page 46: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Suma de Registros en C-2

Algunos ejemplos...

Calcular (5− 8) utilizando registros de 5 bits.:

0 0 1 0 1 → 5+ 1 1 0 0 0 → −8 en C-2.

1 1 1 0 1 → −3 en C-2.

Calcular (7− 7) utilizando registros de 5 bits.:

1 1 1 1 10 0 1 1 1 → 7

+ 1 1 0 0 1 → −7 en C-2.

0 0 0 0 0 → 0 en C-2.

RAE Representacion de la informacion

Page 47: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Suma de Registros en C-2

Utilizando registros de 5 bits en C-2, el numero mınimorepresentable es -16 y el maximo representable es +15.

Si no cumplimos con esto, se produce un overflow.

Ejemplos de overflow

Si intentamos calcular (−10− 8) utilizando registros de 5 bits.:

11 0 1 1 0 → −10 en C-2.

+ 1 1 0 0 0 → −8 en C-2.

0 1 1 1 0 → ???.

RAE Representacion de la informacion

Page 48: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Overflow

Ejemplos de overflow

Si intentamos calcular (9 + 7) utilizando registros de 5 bits.:

1 1 1 10 1 0 0 1 → 9.

+ 0 0 1 1 1 → 7.

1 0 0 0 0 → ???.

RAE Representacion de la informacion

Page 49: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Overflow

¿Como es posible detectar un overflow?

Para detectar un overflow es necesario analizar el carry desalida y el de entrada, al bit del signo (el bit mas significativo).

Si ambos carry (entrada y salida) son iguales, NO hayoverflow. En caso contrario (si los carry son distintos), existeoverflow.

RAE Representacion de la informacion

Page 50: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Suma de Registros en C-1

Tambien se puede operar aritmeticamente con registros enC-1.

Algunos ejemplos

Si calculamos (7− 4) utilizando registros de 5 bits.:

1 1 0 1 1 → −4 en C-1

1 1 1 1 10 0 1 1 1 → 7.

+ 1 1 0 1 1 → −4 en C-1.

0 0 0 1 0+ 1 → Si hay carry de salida, Se suma.

0 0 0 1 1 → 3 en C-1.

RAE Representacion de la informacion

Page 51: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Suma de Registros en C-1

Algunos ejemplos

Si calculamos (5− 8) utilizando registros de 5 bits.:

1 1 10 0 1 0 1 → 5.

+ 1 0 1 1 1 → −8 en C-1.

1 1 1 0 0 → −3 en C-1.

Si calculamos (7− 7) utilizando registros de 5 bits.:

0 0 1 1 1 → 7.+ 1 1 0 0 0 → −7 en C-1.

1 1 1 1 1 → −0 en C-1.

RAE Representacion de la informacion

Page 52: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Aritmetica de Punto Flotante

A Comienzos de 1980 con la ayuda de varios cientıficos, entreellos W. Kahn, se desarrollo un estandar para el sistema dePunto Flotante, que adopto la IEEE (IEEE 754).

Con la introduccion de este Sistema de Punto Flotante seresolvieron las limitaciones que tiene el Sistema de Punto Fijo.

El estandar cumple con 3 requisitos:1 La representacion del Punto Flotante debe ser consistente en

todas las maquinas que lo adopten.2 La aritmetica de redondeo debe ser correcta.3 El tratamiento de casos especiales debe ser consistente (Ej:

division por cero, etc...).

RAE Representacion de la informacion

Page 53: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Aritmetica de Punto Flotante

La notacion de Punto Flotante se asemeja a la notacioncientıfica o exponencial en la que representamos a losnumeros.La idea principal de esta notacion, es facilitar la comparacionentre los numeros y su ordenamiento.

RAE Representacion de la informacion

Page 54: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Aritmetica de Punto Flotante

Representacion del estandar IEEE754

Solo nos preocuparemos de la representacion de precision simple(32 bits).

1 bit 8 bits 23 bitsS E M

S: Signo (0=positivo y 1=negativo)

E: Exponente sesgado.

M: Mantisa (magnitud del numero normalizado).

RAE Representacion de la informacion

Page 55: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Aritmetica de Punto Flotante

El exponente sesgado corresponde a: e + (Bn−1 − 1)Donde e es el exponente real y n el numero de bits pararepresentar el exponente (en precision simple son 8 bits).

La normalizacion de un numero se refiere a dejarlo de la forma:

+−1.b1b2b3 . . . b23x2

+−e

En los 23 bits de la mantisa, se almacenan los bits desde el b1

al b23 sin considerar el 1 que esta a la izquierda de la coma,llamado bit oculto (hidden bit).

RAE Representacion de la informacion

Page 56: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Aritmetica de Punto Flotante

El rango de numeros representables esta dado por:

1,2x10−38a3,4x10+38

Se debe tener en cuenta que existe un cierto grado deprecision, que esta dado por ε (epsilon).

Este numero ε es la diferencia entre 1 y el numero proximomas grande.

Luego, ε esta dado por: 2−n donde n es el numero de bits quetiene la mantisa.Por ejemplo para la precision simple, se tiene queε = 2−23 = 0,000000119

¿Que precision ε se logra con una mantisa de 3 bits?

RAE Representacion de la informacion

Page 57: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Aritmetica de Punto Flotante

¿Como sumar o restar en Punto Flotante?

Para sumar o restar, es necesario realizar los siguientes pasos:

1) Se debe desplazar la mantisa del numero que tengamenor exponente, hasta igualar al exponente del otronumero. En este paso es posible perder bastantesdıgitos del numero.

2) Sumar las mantisas (en caso de ser una resta, esnecesario utilizar el complemento 2).

3) Finalmente si es necesario, se debe volver anormalizar.

RAE Representacion de la informacion

Page 58: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Aritmetica de Punto Flotante

Un ejemplo de suma

Si queremos sumar los numeros 1,101x2−2 y 0,1x2+3

1) 1,101x2−2 = 0,00001101x2+3

2) Se suma:0,10000000

+ 0,00001101

0,10001101

3) El resultado es 0,10001101x2+3 y finalmente senormaliza, quedando 1,0001101x2+2

Es importante verificar que no se produzcanoverflow.

RAE Representacion de la informacion

Page 59: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Codigos

Por codigo se entiende una relacion capaz de llevar unconjunto de sımbolos de un espacio (dominio), a otro espaciodiferente (codominio).

RAE Representacion de la informacion

Page 60: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Codigo BCD

Por ejemplo para representar el numero 57310 se puedeconvertir a binario, resultando 57310 = 10001111012

Esta conversion resulta un poco larga, si pensamos que sedebe realizar por cada numero que queremos representar.

Ademas, se debe tener conocimiento completo del numero,para poder realizar la conversion.

RAE Representacion de la informacion

Page 61: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Codigo BCD

El codigo BCD establece una relacion que permite convertirrapida y facilmente los numeros decimales en binarios.

Tabla de conversion BCD

Decimal BCD

0 00001 00012 00103 00114 0100

Decimal BCD

5 01016 01107 01118 10009 1001

RAE Representacion de la informacion

Page 62: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Codigo BCD

Ejemplo de conversion a BCD

Convertir 438510 a un numero en BCD:

4 3 8 50100 0011 1000 0101

→ 4385 = 0100 0011 1000 0101

RAE Representacion de la informacion

Page 63: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Codigo BCD

El codigo Gray tiene propiedades muy particulares, por o quees altamente utilizado.

Esta definido de la siguiente forma:

El codigo Gray de 1 bit, esta dado por {0, 1}.El codigo se puede construir para k + 1 bits, dado el codigo dek bits.Para ello se hace una lista con el codigo Gray conocido y se leanteponen 0’s. Luego se sigue la lista con el codigo en ordeninverso, y antepuesto por 1’s.

RAE Representacion de la informacion

Page 64: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Codigo Gray

Construccion del Codigo Gray

0

1→

0 00 1

1 11 0

0 0 00 0 10 1 10 1 0

1 1 01 1 11 0 11 0 0

RAE Representacion de la informacion

Page 65: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Codigo Gray

Ejemplo de un codigo Gray de 3 bits

i G (i) G (i)

0 0 0 0 01 0 0 1 12 0 1 1 33 0 1 0 24 1 1 0 65 1 1 1 76 1 0 1 57 1 0 0 4

La funcion inversa G (i)−1 = j se define si G (j) = i .

RAE Representacion de la informacion

Page 66: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Codigos

Existen otros codigo, como por ejemplo el EBCDIC.

Por ejemplo el codigo ASCII (American Standard Code ofInformation).

RAE Representacion de la informacion

Page 67: Representaci´on de la informaci´on · Contenido Introduccion Representacion Num´erica Aritm´etica Computacional Aritm´etica de punto Flotante C´odigos Introducci´on En el mundo

ContenidoIntroduccion

Representacion NumericaAritmetica Computacional

Aritmetica de punto FlotanteCodigos

Fin...

RAE Representacion de la informacion