Representación de la información

Slides:



Advertisements
Presentaciones similares
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities scuola.
Advertisements

SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
Álgebra 2010 Clase N° 2 Conjuntos numéricos II
LOGARITMOS.
Propiedades de los Reales
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
1 LA UTILIZACION DE LAS TIC EN LAS MICROEMPRESAS GALLEGAS. AÑO mayo 2005.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO de Junio de 2005.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
TEMA 5.- 1ª PARTE. EL A.O. Y SUS APLICACIONES
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Respuestas Buscando a Nemo.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
SISTEMAS DE NUMERACIÓN
MOVIMIENTO ARMÓNICO SIMPLE MOVIMIENTO ARMÓNICO SIMPLE
SISTEMA DE NUMEROS NÚMEROS ENTEROS DIVISIBILIDAD NÚMEROS PRIMOS
Competency 014 Numbers Concepts and Operations.
Aritmética del Computador Introducción a la Tecnología de la Información.
Representación de la Información dentro del Computador
Representación de la Información dentro del Computador
Representación de Reales
SISTEMAS DE NUMERACIÓN
Álgebra 2010 Clase N° 1 Conjuntos numéricos I
Sistemas Numéricos UPOLI - Estelí MSc. Marcos Hernández Zamora
Sistema Numérico Binario
DEFINICION DE TERMINOS SEMEJANTES
Operaciones con Números Reales
CLASE 1 SISTEMAS NUMÉRICOS Y CÓDIGOS
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
Estadística Administrativa I
NUMERACIÓN Y ESTRATEGIAS DE CÁLCULO MENTAL
APLICACIONES DE ALGEBRA BOOLEANA
UNIDAD 2: FUNCIONES.
Introducción a los Números Fraccionarios
Aproximaciones y errores de redondeo
EL OSO APRENDIZ Y SUS AMIGOS
Introducción a la Ingeniería en Sistemas Computacionales
UNIDAD 1 CONCEPTOS BÁSICOS
Ecuaciones Cuadráticas
RAZONAMIENTO MATEMATICO Mg. CORNELIO GONZALES TORRES
Tema Potencias y notación científica.
Otra forma es representando lo que hay de cada lado
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
LA UNIDAD ARITMÉTICA Y LÓGICA
INTRODUCCIÓN A LA PROGRAMACIÓN
Cambio de Base.
Números enteros.
La transformada de Laplace
REGLAS DE LOS SIGNOS.
Learning Zone Matemáticas 101
SISTEMAS DE NUMERACIÓN
MSc. Lucía Osuna Wendehake
SUCESIONES Y PROGRESIONES.
ESTADIGRAFOS DE DISPERSION
Curso Circuitos Digitales I Sesión 2
SISTEMAS DE NUMERACIÓN
M. en C. José Andrés Vázquez Flores
Aritmética PARA COMPUTADORAS
Organización del Computador I Verano 2007
LA UNIDAD ARITMÉTICA Y LÓGICA
Arquitectura de Computadoras I
SISTEMAS NUMÉRICOS Oscar Ignacio Botero H..
SISTEMA DE NUMERACIÓN. ¿Qué es un sistema de numeración? Conjunto de símbolos y reglas que permiten representar datos numéricos. La principal regla es.
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
Transcripción de la presentación:

Representación de la información Tema 2 Representación de la información Fundamentos de Informática. I.T.I. Mecánica e I.T.I. Química. Curso 2010/2011 Depto. de INFORMÁTICA UVA

Objetivos Al terminar esta lección deberás ser capaz de: Describir los problemas derivados del uso de precisión finita en el ordenador Describir el concepto de sistema de numeración y enumerar los más utilizados en informática Realizar cambios de base entre los sistemas de numeración estudiados Representar e interpretar el valor de números enteros y reales utilizando los códigos más usuales en informática Representar caracteres en el ordenador

Contenidos Números de precisión finita Sistemas de numeración Representación de números enteros Representación de números reales Representación de caracteres

Números de precisión finita El ordenador utiliza el sistema binario (0 y 1) para representar la información. Los ordenadores almacenan los datos en registros de una longitud finita (8, 16, 32, … 256 bits). Esto significa que el número de dígitos con el que pueden operar es limitado. Ejemplo: Si un registro manejara 3 dígitos enteros decimales sólo se podrían representar los números del 000 al 999. Rango limitado: [000, 999]

Números de precisión finita Precisión (p): número de bits utilizado para representar información Con p bits podemos codificar m = 2p símbolos distintos, por tanto, el conjunto de números que se pueden representar es limitado (finito) (Operación inversa) Para codificar m símbolos distintos, necesitamos p bits, tal que p es el mínimo p que cumple: 2 p-1 < m <= 2p, que equivale a p >= log2 m = 3.32 · log (m), con p  N

Números de precisión finita Limitaciones Desbordamiento (overflow): El resultado de una operación es mayor que el máximo número representable con una determinada precisión p Agotamiento o subdesbordamiento (underflow): El resultado de una operación es menor que el mínimo representable con una precisión p Errores de redondeo: El resultado de una operación no es representable con la precisión utilizada. Hay que aproximar al número más cercano posible.

Números de precisión finita Ejemplos (suponiendo dígitos decimales) p = 3 Rango = [000, 999] Ejemplo de overflow: En teoría : 700 + (400 –300) = (700 + 400) – 300 En la práctica: 700 + 100 ≠ Overflow!

Números de precisión finita Por lo tanto: El uso de números de precisión finita limita la aritmética de los ordenadores Hay que tener en cuenta la posible aparición de errores Hay que idear recursos para trabajar con números negativos y números reales

Contenidos Números de precisión finita Sistemas de numeración Representación de números enteros Representación de números reales Representación de caracteres

Sistemas de numeración Un sistema de numeración posee un conjunto de símbolos D Cada dígito d es un símbolo de D Un sistema en base b usa B símbolos D= {0, .. , B-1} Un número es una cadena de dígitos … d4d3d2d1d0,d-1d-2 ...  di  D Punto decimal

Sistemas de numeración Valor de un número en base b Sea el número: … d4d3d2d1d0,d-1 … / di  D = 0, 1, 2, …, B-2, B-1 El valor que representa el número se calcula teniendo en cuenta la posición i de cada dígito, su valor, y el valor de la base B:  di * Bi = d4·B4+ d3·B3+ d2·B2+ d1·B1+ d0·B0+ d-1·B-1... Punto decimal

Sistemas de numeración Sistemas más frecuentes Los más típicos en informática son: Decimal B = 10 Binario B = 2 Octal B = 8 Hexadecimal B = 16 Para saber en qué sistema está representado el número se emplea un subíndice 10 para decimal Ej: 938 10 2 para binario Ej: 102 8 para octal Ej: 345 8 H ó 16 para hexadecimal Ej: FA893 H

Sistemas de numeración Sistemas más frecuentes Decimal: B = 10 D = {0,1,2,3,4,5,6,7,8,9} Ejemplo 459,2 10 = 4·102 + 5·101 + 9·100 + 2·10-1 = 459,2 10 -459,2 10 = -1 * (4·102 + 5·101 + 9·100 + 2·10-1) = -459,2 10 Binario: B = 2 D = {0,1} 101,12 = 1·22 + 0·21 + 1·20 + 1·2-1 = 5,5 10 -101,12 = -1 * (1·22 + 0·21 + 1·20 + 1·2-1) = -5,5 10

Sistemas de numeración Sistemas más frecuentes (2) Octal: B = 8 D = {0,1,2,3,4,5,6,7} Ejemplo: 453,2 8 = 4·82 + 5·81 + 3·80 + 2·8-1 = 299,2510 -453,2 8 = -1 * (4·82 + 5·81 + 3·80 + 2·8-1) = -299,2510 Hexadecimal: B = 16 D = {0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F} 1BA,F H = 1·162 + 11·161 + 10·160 + 15·16-1 = 442,937510 -1BA,F H = -1 * (1·162 + 11·161 + 10·160 + 15·16-1) = -442,937510

Sistemas de numeración Ejemplo 102 <> 108 <> 1010 <> 10H 10 2 = 1·21 + 0·100 = 2 10 10 8 = 1·81 + 0·100 = 8 10 10 H = 1·161 + 0·100 = 16 10 10 10 = 1·101 + 0·100 = 10 10

Sistemas de numeración Cambio de base Decimal Hexadecimal Principio de la base   B y tomar residuos Conversión por tabla (1) Conversión por tabla (2) Octal Binario

Sistemas de numeración Cambio de base Binario, octal ó hexadecimal  decimal Aplicar el “Principio de la base”, es decir, aplicar la fórmula: Ejemplos: 7CDH = 7·162 + C·161 + D·160 = = 7·256 + 12·16 + 13 = = 199710  di  Bi

Sistemas de numeración Cambio de base 111012 = = 1·24 + 1·23 + 1·22+ 0·21+ 1·20 = = 24 + 23 + 22 + 1 = = 16 + 8 + 4 + 1 = 2910 3718 = = 3·82 + 7·81 + 1·80 = = 3·64 + 7·8 + 1= 24910

Sistemas de numeración Cambio de base Binario  Octal: a través de la tabla Binario Octal 000 100 4 001 1 101 5 010 2 110 6 011 3 111 7

Sistemas de numeración Cambio de base Binario  Hexadecimal: a través de la tabla Binario Hexad. 0000 1000 8 0001 1 1001 9 0010 2 1010 A 0011 3 1011 B 0100 4 1100 C 0101 5 1101 D 0110 6 1110 E 0111 7 1111 F

Sistemas de numeración Cambio de base Binario a octal y hexadecimal (ejemplos) 11001,101 2 = = 011 001, 101 2 = 31,5 8 = 0001 1001, 1010 2 = 19, A H Octal y hexadecimal a binario (ejemplos) AB,16 H = 1010 1011, 0001 0110 2 734 8 = 111 011 100 2

Sistemas de numeración Cambio de base De decimal a binario (1/2) La parte entera del número se obtiene dividiendo por B = 2 la parte entera del número decimal de partida y los sucesivos cocientes hasta que cociente sea 0 ó 1. Los residuos (restos) de estas divisiones son las cifras binarias. El último cociente será el bit más significativo (izda) y el primer residuo será el bit menos significativo (dcha).

Sistemas de numeración Cambio de base De decimal a binario (continuación) La parte fraccionaria se obtiene multiplicando por B = 2 sucesivamente la parte fraccionaria del número decimal de partida y las partes fraccionarias que se van obteniendo. El número lo componen las partes enteras (ceros o unos) de los productos obtenidos. El número completo se forma anexando la parte entera y la fraccionaria obtenidas, separadas por la coma decimal

Sistemas de numeración Cambio de base 29,710 Parte entera Parte decimal Cocientes Residuos 29 1 14 7 3 Productos Rdos 0,7 · 2 = 1,4  1 0,4 · 2 = 0,8  0 0,8 · 2 = 1,6 0,6 · 2 = 1,2 … 29,710  11101,10112

Contenidos Números de precisión finita Sistemas de numeración Representación de números enteros Representación de números reales Representación de caracteres

Representación números enteros Binario natural Con p bits, Rango = [0, 2p-1] Ejemplo: Con p= 3 bits, rango = [0, 23-1] = [0,7] Problema: No permite representar números negativos. 2p -1 Rango -  + 

Representación números enteros Códigos para representar números enteros: Signo-magnitud Complemento a 1 Complemento a 2 En exceso a N

Representación números enteros Signo magnitud Bit más a la izquierda: bit de signo 0 para + y 1 para - Resto de bits: valor absoluto Ejemplos: 1101s-m = -510 -1010 (precisión 5 bits) = 11010s-m -1010 (precisión 8 bits) = 10001010s-m

Representación números enteros Signo magnitud Rango con p bits = [- (2p-1-1), 2p-1-1] Ejemplo Con p=5, rango = [-(25-1-1), 25-1-1] = [-15, 15] - (2p-1 -1) 2p-1 -1 -  +  Rango

Representación números enteros Complemento a 1 Los números positivos se expresan igual que en binario natural. Para hacer los negativos se toma el correspondiente positivo y se cambian los ceros por unos y viceversa Para todas las cantidades representadas, el bit de la izquierda vale 0 para el + y 1 para el -

Representación números enteros Complemento a 1 Rango con p bits = [-(2p-1-1), 2p-1-1] Ejemplo Con p=5, rango = [-(25-1-1), 25-1-1] = [-15, 15] - (2p-1 -1) 2p-1 -1 -  +  Rango

Representación números enteros Complemento a 2 Los números positivos se representan en binario natural Para representar un número negativo, se hace el complemento a 1 y se suma 1 (en binario) El bit de la izquierda vale 0 para los números positivos y 1 para los negativos

Representación números enteros Complemento a 2 Rango con p bits = [-2p-1, 2p-1-1] Ejemplo: Con p= 5, rango = [-24, 24-1] = [-16, 15] - 2p-1 2p-1 -1 -  +  Rango

Representación números enteros Ejemplos: Decimal a complemento a 2 (p=5 bits) - 1010 = C1 (01010) = 10101 + 1 = 10110c2 10 10 = 01010c2 Ejemplos: Complemento a 2 a decimal (p=5 bits) 00111c2 Empieza por 0  es positivo  se interpreta en binario natural Resultado: 00111c2 = 710 11011c2 Empieza por 1  es negativo  Se complementa para hallar el valor absoluto: 11011c2 = C1 (11011) + 1 = 00100 + 1 = 00101 = 5 Resultado: 11011c2 = - 510

Representación números enteros Exceso a N El sistema guarda el valor más N, de forma que el número resultante es siempre positivo Normalmente, si tenemos precisión p: N = 2p-1 Rango = -2p-1, 2p-1 -1 Ejemplo: exceso a 128 (27) –310  -3+128= 12510 (= 011111012)

Representación números enteros Tabla de códigos, con p = 3 Nº decimal Signo-Magnitud Complemento a 1 Complemento a 2 Exceso a N 3 011 111 2 010 110 1 001 101 000 100 -0 --- -1 -2 -3 -4 Ejercicio: * Representar las siguientes cantidades en s-m 8 bits, C1 9 bits, C2 8 bits: +128, +93, -10, -100, -234, -128 Rangos: s-m = [-127, 127] C1 = [-255, +255] C2 = [-128, 127] Números: 234(10 = 11101010(2 100(10 = 1100100(2 10(10 = 1010(2 128 (10 = 10000000(2 93(10 = 1011101(2 Tabla

Contenidos Números de precisión finita Sistemas de numeración Representación de números enteros Representación de números reales Representación de caracteres

Representación en punto flotante La notación en punto flotante, exponencial o científica se usa con números reales. Por ejemplo, la magnitud 13257.3285 se puede expresar: 13257.3285 = 13257.3285·100 = 132573.285·10 -1 = 132573285·10-4 = 1.32573285·104 Forma general: N = ±M·be ± → Signo del número M → mantisa en valor absoluto b → base e → exponente Se dice que el número está normalizado cuando el número más significativo está en la cifra de las unidades

Representación IEEE 754 Representación normalizada. Base: 2 (no se representa) N = ± M · 2e Sólo es necesario representar el signo, la mantisa y el exponente

Representación IEEE 754 Se representa: Un campo de signo que ocupa 1 bit Un campo de exponente (c) que ocupa nc bits Un campo de mantisa (m’) que ocupa nm bits El orden de almacenamiento es: campo de signo (s), campo de exponente (e) y campo de mantisa (m).

Representación IEEE 754 Signo: Exponente: 0 para + y 1 para - En exceso a N = 2 p-1-1, con p = número de dígitos reservados para el exponente. El valor almacenado se denomina característica (c=e+N)

Representación IEEE 754 Mantisa: Se normaliza el número: El exponente se ajusta de forma tal que el 1 más significativo de la mantisa se encuentre en la posición 0 (posición de las unidades) El campo de la mantisa (m’) se obtiene almacenando sólo la parte fraccionaria del número normalizado. Es decir, no se almacena la información "1.” Ejemplo: N = 1101.01 = 1.10101·23  m’ = 10101

Representación IEEE 754 Dos formatos: Precisión simple (SP) y doble (DP) Precisión simple: palabra de 32 dígitos ns = 1 bits nc= 8 bits nm’= 23 bits

Representación IEEE 754 Precisión doble: palabra de 64 dígitos ns = 1bits nc= 11 bits nm= 52 bits

Representación IEEE 754 Casos especiales: Si c=111...1 Si m’ = 0  + ó - Si m’ <> 0  caracteres especiales Si c=0000...0. Excepción doble: Mantisa es 0.M’ Exponente: exceso N = 2p-1 - 2

Representación IEEE 754 Precisión simple (Resumen): Exceso normal N = 27-1 = 127 Si c=255 y m’ <> 0  M = carácter especial Si c=255 y m’ = 0 M = (-1)s · infinito Si 0<c<255  M = (-1)s · 1,m’ · 2c-127 Si c=0 y m’<>0  M = (-1)s · 0,m’ · 2c-126 Si c=0 y m’ = 0  M = 0

Representación IEEE 754 Un buen programador debe tener en cuenta cómo se almacenan los nº reales en el computador, ya que se pueden presentar problemas inherentes a la forma en que se representan los nº (con un número limitado de bits).

Representación IEEE 754 Dificultades al obtener: resultados intermedios, de números excesivamente pequeños. Puede ocurrir al restar dos números casi iguales o al dividir si el divisor es mucho mayor que el dividendo. En estos casos puede perderse la precisión de los cálculos o producirse un desbordamiento a cero. resultados numéricos excesivamente grandes, es decir por desbordamiento. Por ejemplo, al dividir un número por otro mucho menor que él o al efectuar sumas o productos sucesivos con números muy elevados.

Representación IEEE 754 Dificultades al comparar dos números : En general una mantisa decimal no puede representarse exactamente con nm bits, lo que genera un error "de representación". Esto da lugar a problemas al comparar la igualdad entre ellos (máxime si los números se han obtenido con procedimientos distintos), ya que el computador considera que dos números son iguales únicamente si son iguales todos sus bits. Luego, la detección de igualdades debe hacerse con números enteros o considerando que x=y si y solo si |x-y| <error

Contenidos Números de precisión finita Sistemas de numeración Representación de números enteros Representación de números reales Representación de caracteres

Códigos alfanuméricos Los caracteres alfanuméricos se codifican mediante un número entero. Caracteres alfabéticos Caracteres numéricos Caracteres de control Caracteres especiales Códigos: ASCII, Unicode

Códigos alfanuméricos ASCII: (American Standard Code for Information Interchange) Muy utilizado 7 bits  27 caracteres = 128 caracteres Código ASCII extendido: 8 bits  28 = 256 caracteres

Códigos alfanuméricos Código ASCII

Códigos alfanuméricos Código de algunos caracteres: Carácter Código ‘a’ 97 ‘z’ 122 ‘A’ 65 ‘Z’ 90 ‘0’ 48 ‘9’ 57 NUL

Códigos alfanuméricos Inconvenientes del código ASCII (sobre todo con Internet): Los símbolos codificados son insuficientes para representar los caracteres especiales que requieren numerosas aplicaciones. Los símbolos y códigos añadidos en la versión ampliada a 8 bits no están normalizados. Están basados en los caracteres latinos, existiendo otras culturas que utilizan otros símbolos muy distintos. Los lenguajes escritos de diversas culturas orientales, como la china, japonesa y coreana se basan en la utilización de ideogramas o símbolos, siendo, por tanto, inoperantes los códigos que sólo codifican letras individuales.

Códigos alfanuméricos Unicode (ISO/IEC 10646) Propuesto por un consorcio de empresas y entidades que trata de hacer posible escribir aplicaciones que sean capaces de procesar texto de muy diversas culturas. Propiedades buscadas: Universalidad, trata de cubrir la mayoría de lenguajes escritos existentes en la actualidad: 16 bits  65.356 símbolos Unicidad, a cada carácter se le asigna exactamente un único código (idiogramascon imagen distinta, tienen igual código), y Uniformidad, ya que todos los símbolos se representan con un número fijo de bits (16).

Bibliografía Prieto et al. “Introducción a la informática”, McGraw Hill