1 Información e Informática Un computador es una máquina que procesa información. La ejecución de un programa implica el tratamiento de los datos. Para que el computador ejecute un programa es necesario darles dos tipos de información: las instrucciones que forman el programa y los datos con los que debe operar ese programa. Los aspectos más importantes de la Informática relacionados con la información son: cómo < representarla> y cómo < materializarla> o < registrarla> físicamente.
2 Cómo se da la información a un computador? Se la da en la forma usual escrita que utilizan los seres humanos; con ayuda de un alfabeto o conjunto de símbolos, denominados caracteres.
Categorías de los caracteres: Caracteres alfabéticos: son los mayúsculas y minúsculas del abecedario inglés: A, B, C, D, E, , X, Y, Z, a, b, c, d, , x, y, z
Caracteres numéricos: están constituidos por las diez cifras decimales: Ø, 1, 2, 3, 4, 5, 6, 7, 8, 9 El cero suele marcarse con una raya inclinada (ø) para evitar posibles confusiones con la O mayúscula.
3 Cont Caracteres especiales: son los símbolos no incluidos en los grupos anteriores, entre otros los siguientes: ) ( , * / ; : Ñ ñ = ! ? . ? & > # < { Ç } SP Con SP representamos el carácter o espacio en blanco, tal como el que separa dos palabras.
Carácter de control: representan órdenes de control, como el carácter indicador de fin de línea o el carácter indicador de sincronización de una transmisión de que se emita un pitido en un terminal, etc. Muchos de estos son generados e insertados por el propio computador.
Caracteres Gráficos: son símbolos o módulos con los que se pueden representar figuras (o iconos) elementales.
4 Cont Toda comunicación con un computador convencional se realiza según los caracteres que admitan sus dispositivos de E / S. Toda instrucción o dato se representará por un conjunto de caracteres tomados del alfabeto definido en el sistema a utilizar. El diseño de un sistema informático resulta mas fácil, su realización menos compleja y su funcionamiento muy fiable, si se utilizan solo dos valores o estados posibles. Estos valores conceptualmente se representan por
cero (0) y apagada y 0 voltios y uno (1) encendida 3.5 voltios
etc. (BIT) 101 101 0110 010 01 0 01010 0110 0110 01
5 Codificación de la Información Codificación es una transformación que representa los elementos de un conjunto mediante los de otro, de forma tal que a cada elemento del primer conjunto le corresponda un elemento distinto del segundo. Ejemplo: código de provincia en las matrículas de los coches; código de enfermedades definido por la Organización Mundial de la Salud (OMS) número de cedula de identidad Los códigos se permiten comprimir y estructurar la información En el interior de los computadores la información se almacena y se transfiere de un sitio a otro según un código que utiliza sólo dos valores (un código binario) representados por 0 y 1.
6 Cont Codificación y Decodificación Al tener que < traducir> toda la información suministrada al computador a ceros y unos, es necesario establecer una correspondencia entre el conjunto de todos los caracteres ? = { A, B, C, D, , Z, a, b, , z, 0, 1, 2, 3, , 9, /, +, (, ), }
y el conjunto binario ? = { 0, 1 } n
Estos códigos de trasformación se denominan códigos de Entrada / Salida (E/S) o códigos externos.
Las operaciones aritméticas con datos numéricos se suelen realizar en una representación más adecuada para este objetivo que la obtenida con el código de E/S.
7 La unidad más elemental de información es un valor binario, conocido como BIT. El origen de este término es inglés:
BIT = Binary y digiT
Un bit es una posición o variable que toma el valor 0 o 1. Es la capacidad mínima de almacenamiento de información en el interior de un computador El bit es la unidad de información mínima
8 Información caracteres BIT A cada caracter le corresponde cierto número de bits.
Byte : número de bits necesarios para almacenar un caracter
Byte se utiliza como sinónimo de 8 bits u octeto. La capacidad de almacenamiento (computador, soporte de información) se mide en bytes. Byte es una unidad relativamente pequeña Se utiliza múltiplos:
1 Kilobyte = 1KB = 210 bytes = 1024 bytes =210 bytes 1 Megabyte = 1MB = 210 Kb = 1048576 bytes =220 bytes 1 Gigabyte = 1GB = 210 Mb = 1073741824 bytes =230 bytes 1 Terabyte = 1TB = 210 Gb = 1099511627776 bytes =240 bytes 1 Pentabyte = 1PB = 210 Tb = 11258999906842624 bytes =250 bytes. 1 Exabyte = 1EB = 210 Pb = 11258999906842624 bytes =260 bytes. 1 Zetabyte? 1 Yottabyte?
9 Cont… DATO: Característica de una información expresada en forma adecuada para su tratamiento.
Representación de los datos (valores): Valores analógicos. Valores discretos o digitales.
Necesidad de convertir los valores analógicos a discretos. Sistema digital: Sistema de N estados estables Dígito: Variable capaz de asumir un estado.
Los dígitos se agrupan para representar más estados.
10 Cont… Código: Ley de correspondencia entre valores de información y combinaciones de dígitos de un sistema digital utilizadas para representarlos.
Codificación: Información -> Código azul —-> 0 azul —-> 100 verde —-> 1 ó verde —-> 101 rojo —-> 2 rojo —-> 111
Decodificación: Código -> Información azul < —- 0 azul < —- 100 verde < —- 1 ó verde < —- 101 rojo < —- 2 rojo < —- 111
Código binario: Cuando el sistema digital utilizado tiene sólo 2 estados (0,1).
11 Sistemas de numeración usuales en informática Los computadores suelen efectuar las operaciones aritméticas utilizando una representación para los datos numéricos basada en el sistema de numeración base dos (sistema binario).
También se utilizan los sistemas de numeración, preferentemente el octal y hexadecimal, para obtener códigos intermedios.
Un número expresado en uno de estos dos códigos puede transformarse directa y fácilmente a binario y viceversa. Por lo que a veces se utilizan como paso intermedio en las transformaciones de decimal a binario y viceversa.
12 Representación posicional de los números Un sistema de numeración en base b utiliza para representar los números un alfabeto compuesto por b símbolos o cifras. Todo número se expresa por un conjunto de cifras, contribuyendo cada una e ellas con un valor que depende de:
a) la cifra en sí, y b) la posición que ocupe dentro del número.
En el sistema de numeración decimal (sistema en base 10): b = 10 y el alfabeto está constituido por diez símbolos o cifras decimales:
{0,1,2,3,4,5,6,7,8,9}
13 Cont… por ejemplo, el número 3278.52 puede obtenerse como suma de:
se verifica que:
3278.52 = 3*103 + 2*102 + 7*101 + 8*100 + 5*10-1 + 2*10-2
14 Cont… Representación de un número en una base b: Forma abreviada:
N = n4 n3 n2 n1 n0 . n-1 n-2 n-3
Valor:
N = n4 * b4 + n3 * b3 + n2 * b2 + n1 * b1 + n0 * b0 + n-1 * b-1
Para representar un número: Resulta más cómodo que los símbolos (cifras) del alfabeto o la base de numeración sean los menos posibles, pero , Cuanto menos es la base, mayor es el número de cifras que se necesitan para representar una cantidad dada.
15 Sistemas de Numeración
Binario Octal Hexadecimal
16 Sistema de numeración binario
La base es 2 (b=2) sólo se necesitan dos símbolos : { 0, 1 }
17 Conversión de Decimal a Binario Se aplica el método de las divisiones y multiplicaciones sucesivas con la base como divisor y multiplicador (b = 2). Ejemplo: 26.1875 )10 = 11010.0011 )2 Para la parte entera:
Para la parte fraccionaria:
18 Conversión de Binario a Decimal Se desarrolla la representación binaria (con b=2) y se opera el polinomio en decimal. Ejemplos:
110100)2 = 1·25 + 1·2 4 + 0·2 3 + 1·2 2 + 0·2 1 + 0·2 0 = 52 )10
10100.001)2 = 1·2 4 + 0·23 + 1·22 + 0·21 + 0·20 + 0·2- 1 + 0·2- 2 +1·2-3 = 20.125 )10
Realmente basta con sumar los pesos (2i ) de las posiciones (i) en las que hay un 1.
19 Operaciones aritméticas con variables binarias Las operaciones aritméticas básicas son la suma, resta, multiplicación y división.
20 Ejemplos:Efectuar las siguientes operaciones aritméticas binarias:
21 Representación en complementos Para representar un número negativo se puede utilizar Complemento a la base Complemento a la base 1
Las sumas y restas quedan reducidas a sumas. Este sistema de representación de sumo interés ya que reduce la complejidad de la unidad aritmético lógica (no son necesarios circuitos específicos para restar).
22 Complemento a la base menos 1
El complemento a la base menos uno de un número, N, es el número que resulta de restar cada una de las cifras de N a la base menos uno del sistema de numeración que este utilizando.
Podemos restar dos números sumando al minuendo el complemento a la base menos uno del sustraendo. La cifra que se arrastra del resultado se descarta y se suma al resultado así obtenido.
23 Complemento a la base menos 1En base 10 (Complemento a 9) Complemento a la base menos uno (a nueve) de 63 es 36;
Si queremos resta 63 a 77
24 Cont Complemento a nueve de 16 es 83;
Queremos hacer 1100-0016:
25 En base 2 (Complemento a 1) Complemento a la base menos uno (a uno) del número 10010 es:
Complemento a uno de 101010 es:
26 Cont Queremos Restar 1000111 10010:
Con complemento a 1 (de 0010010 ):
Complemento a 1 de 0010010 De manera normal
27 Cont Fácilmente se observa que para transformar un número binario, N, a complemento a 1 basta con cambiar en N los unos por los ceros y los ceros por los unos.
28 Complemento a la base
El complemento a la base de un número, N, es el número que resulta de restar cada una de las cifras del número N a la base menos uno del sistema que se esté utilizando y, posteriormente, sumar uno a la diferencia obtenida.
Se pueden restar dos números sumando al minuendo el complemento a la base del sustraendo y despreciando, en su caso, el acarreo del resultado.
29 Complemento a la base En base 10 (Complemento a 10) Complemento a la base (a diez) de 63 es 37;
Si queremos resta 63 a 77
30 En base 2 (Complemento a 2) Complemento a la base (a dos) del número 10010 es: Complemento a dos de 101010 es:
31 Cont Queremos Restar 1000111 10010:
Con complemento a 2 (de 0010010 ):
Complemento a 2 de 0010010 De manera normal
32 Cont Observamos que para transformar un numero binario, N, a complemento a 2 basta con cambiar los 0 por 1 y los 1 por 0 de N y sumar 1 al resultado. Esto puede también ser visto como: Recorrer el número desde el bit menos significativo hasta el mas significativo y dejar los bits iguales hasta el primer uno y luego cambiar los ceros por unos y los unos por ceros
33 Sistema de numeración octal La base es 8 El conjunto de símbolos es: { 0, 1, 2, 3, 4, 5, 6, 7 }
Conversión de octal a decimal Se desarrolla el polinomio con b=8 y se opera en decimal.
Conversión de decimal a octal Aplicar el método de divisiones y productos con divisor y multiplicador 8.
Conversión rápida de binario a octal Agrupar cifras binarias de 3 en 3 y transformar con la tabla 1.
Conversión rápida de octal a binario Convertir cada cifra octal mediante la tabla
34 Cont… Ejemplo: Haciendo uso de la tabla convertir 10001101100.11010(2 = N (8
10|001|101|100.110|10 )2 = 2154.64 )8
Ejemplo: Haciendo uso de la tabla convertir 537.24 )8 = N )2
537.24 )8 = 101|011|111.010|100 )2
35 Sistema de numeración hexadecimal
La base es 16 El conjunto de símbolos es:
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
36 Cont… Conversión de Hexadecimal a decimal Se desarrolla el polinomio con b=16 y se opera en decimal.
Conversión de Decimal a hexadecimal Aplicar el método de divisiones y productos con divisor y multiplicador 16.
Conversión rápida de binario a hexadecimal Agrupar cifras binarias de 4 en 4 y transformar con la tabla Ejemplo: 0010|0101|1101|1111 . 1011|1010 (2 = 25DF.BA (16
Conversión rápida de hexadecimal a binario Convertir cada cifra hexadecimal mediante la tabla Ejemplo: 1ABC.C4 (16 = 0001|1010|1011|1100 . 1100|0100 (2
37 Resumen de cambios de base
38 Ejercicios en clases Hacer las operaciones en binario: 101011101)2 + 101001010)2 = N)8 1100101011)2 + 100101101)2 = N)10 101011101)2 – 10001010)2 = N)16 110001011)2 10101101)2 = N)16 10101.0101)2 * 2)10 = N)2 1101.1010)2 * 25)10 = N)10 1010100)2 / 2)10 = N)8 10101.101)2 / 101)2 = N)2
39 Representación de datos Numéricos Para la representación de los datos numéricos se debe tener en cuenta que las operaciones de la ALU están sujetas a las siguientes restricciones: Los registros son de tamaño fijo. Puede existir desbordamiento. Presentan problemas con los números negativos.
Es necesario, por ello, introducir nuevas formas de numeración basadas, por supuesto, en la representación binaria. Al conjunto de estas representaciones y su funcionamiento se le denomina aritmética binaria.
En aritmética binaria debemos distinguir: Representación para números enteros Representación de números reales.
40 Cont Números de precision finita En la mayoría de las computadoras, la cantidad de memoria disponible para guardar números se fija en el momento de su diseño. Con un poco de esfuerzo, el programador puede llegar a representar números 2 o 3 veces más grandes que este tamaño prefijado Al hacerlo no termina de cambiar la naturaleza del problema: la cantidad de dígitos disponibles para representar un número siempre será fija. Llamamos a estos números de precisión finita.
41 Datos de tipo entero Es una representación del conjunto de números enteros. Es necesario utilizar un espacio finito y fijo para cada dato. El número se debe representar en binario y almacenarlo con un número fijo de bits. El número de datos distintos que se pueden generar es 2n, donde n es el número de bits que se utiliza en la representación. Por tanto, si se modifica el número de bits, se obtienen distintos tipos enteros. Cualquier operación con datos de tipo entero es exacta salvo que se produzcan desbordamientos.
42 Datos de tipo entero Enteros sin signo No hace falta codificación, todos los bits del dato representan el valor del número expresado en binario natural (sistema de numeración base 2).
Enteros en signo y magnitud Se basan en tener 1 bit para el signo, y el resto de la cifra (n-1 bits) para codificar el número entero a representar. El signo se representa con el bit mas significativo del dato Se distingue entre números: Positivos: Se almacenan con el bit de signo puesto a 0 Negativos: Se almacenan con el bit de signo puesto a 1 Permiten almacenar números desde -2 (n-1), hasta + (2(n-1)) – 1 Bytes: -128 a +127 Words (de 2 Bytes): -32768 a 32767
Cont Enteros en complemento a 1 ó 2 El signo se representa de la misma forma que en el caso de signo y magnitud El resto de los bits representan: Si el número es positivo: el valor absoluto del número en binario natural Si es negativo: su complemento a 1 ó 2
Representación con exceso o sesgada Se le suma al número N un sesgo S, de forma tal que el número resultante siempre es positivo, no siendo necesario reservar un bit de signo.
Representación con dígitos decimales codificados en binario (BCD) En ocasiones, los datos de tipo entero se representan internamente codificando aisladamente cada dígito decimal con cuatro dígitos binarios De esta froma, en un byte se pueden representar 2 dígitos decimales En la representación BCD de datos con signo se suelen utilizar 4 bits par representar al signo, por ejemplo 0000 para positivo y 1001 para negativo
44 Datos de tipo real Es una representación del conjunto de números reales Cuando se opera con números muy grandes se suele utilizar la notación exponencial, también llamada notación científica o notación en como flotante. Todo número N puede ser representado en la forma: N = M . B E Donde M es la mantisa, B es la base 10 y E el exponente Los microprocesadores actuales disponen internamente de un procesador de coma flotante (Float Point Unit, FPU) que contiene circuitos aritméticos para operar con este tipo de datos. No permite el almacenamiento de números muy grandes o muy pequeños, lo que conlleva a que se produzcan desbordamientos y agotamientos.
45 Datos de tipo real Coma fija: La posición está fijada de antemano y es invariante. Cada número se representa por n bits para la parte entera y m bits para la parte fraccionaria . Nos ahorramos el punto Dependerá de n y de m Se puede producir un error de truncamiento. Un mismo número en punto fijo puede representar a muchos números reales. 1.25 (m=2), 1.256 (m=2), 1.2589 (m=2), 1.2596 (m=2), etc El MSB es el signo No todos los números reales pueden representarse con este formato
46 Cont Coma flotante: La posición de la coma es variable dependiendo del valor del exponente. Es de la forma: m 10exp ( En decimal) m 2exp(En binario)
En decimal en la notación científica podemos escribir: 1.9 x 109 o en forma corta 1.9E9
Tiene dos campos uno contiene el valor de la mantisa y el otro de valor del exponente. El bit más significativo de la mantisa contiene el signo. Existen tres formatos: SignoN Mantisa Exponente ? Directo SignoM Exponente Mantisa ? Comparación rápida SignoE Exponente SignoN Mantisa ? Precisión ampliada
47 Cont Como un valor puede tener más de una representación, se normaliza la representación haciendo que el primer bit significativo de la mantisa ocupe la posición inmediatamente a continuación del signo. Trabajando mantisas normalizadas siempre el primer bit de la mantisa es el complemento del bit de signo, por lo que no es necesario incluirlo en la codificación. El bit que no se incluye recibe el nombre de bit implícito. Las características de los sistemas de representación en coma flotante son: El exponente se representa en exceso a 2n-1, siendo n el número de bits del exponente. La mantisa es un número real normalizado, sin parte entera. Su representación puede ser en cualquier sistema: módulo y signo, Complemento a 1 o Complemento a 2. La base de exponenciación es una potencia de dos.
48 Cont Representación en simple precisión: Palabra de 32 bits. Signo Exponente Mantisa 31 30 23 22 0 1 bit 8 bits 23 bits
Un ejemplo en C es el float
49 Cont Representación en doble precisión: Palabra de 64 bits. Signo Exponente Mantisa 63 62 52 51 0 1 bit 11 bits 52 bits
Un ejemplo en C es el Double
50 Cont Ejemplo 1: -9.2510 Sean m =16, nE = 8 (? nM = 7) , Pasamos a binario ? 9.2510 = 1001.012 Normalizamos ? 1.00101 x 23 Resultado de la Normalización ? 1001.012 = 0010100 Exponente (exceso a 27-1) 310 = (127 +3)2=10000010 1 1000 0010 0010 100 SM E M
m: es el número de bit con que se representa el número nE : es el número de bits que se usan para representar el exponent nM : es el número de bits que se usan para representar el
51 Cont
52 Principales tipos de datos aritméticos utilizables en el lenguaje de programación C (compilador Borland C++ para PC)
53 Representación de textos Códigos de Entrada/Salida Asocian a cada símbolo una determinada combinación de bits.
a = {0,1,2,…,8,9,A,B,…,Y,Z,a,b,…,y,z,*,",/,…} b = {0,1}n
Con n bits podemos codificar m=2n símbolos distintos Para codificar m símbolos distintos se necesitan n bits, n = log2 m = 3.32 log (m)
54 Ejemplo: Para codificar las cifras decimales {0,1,2,3,4,5,6,7,8,9} se necesitarán : n = 3.3221 log(m) = 3.322 bits
es decir, 4 bits (para que se cumpla la relación)
Por lo menos se necesitan 4 bits, pero pueden hacerse codificaciones con más bits de los necesarios. Tabla 2
Con 4 bits no se usan 24 10 = 6 combinaciones, y con 5 bits 25 10 = 22 combinaciones.
55 Cont Tabla 2
56 Ejemplos de Códigos de E/S Código ASCII El código ASCII se utiliza para representar caracteres. Formado por 8 bits (cada carácter se expresa por un número entre 0 y 255) Es un código estándar, independiente del lenguaje y del ordenador Podemos distinguir dos grupos: Los 128 primeros caracteres se denominan código ASCII estándar Representan los caracteres que aparecen en una maquina de escribir convencional Los 128 restantes se denominan código ASCII ampliado Este código asocia un numero a caracteres que no aparecen en la maquina de escribir y que son muy utilizados en el ordenador tales como caracteres gráficos u operadores matemáticos.
Código EBCDIC Extended Binary Coded Decimal Interchange Code Código Ampliado de Caracteres Decimales Codificados en Binario para Intercambio de Información Es un sistema de codificación de caracteres alfanuméricos. Cada carácter queda representado por un grupo de 8 bits.
Código Unicode Es de 16 bits, por lo que puede representar 65536 caracteres. Es una extensión del ASCII para poder expresar distintos juegos de caracteres (latino, griego, árabe, kanji, cirílico, etc).
57 Cont
58 Cont
59 Cont
60
61 CÓDIGO EBCDIC
62 Esquema de asignación de códigos en Unicode
63 Representación de Sonidos
Grabación de una señal de sonido: Se capta por medio de un micrófono que produce una señal analógica (señal que puede tomar cualquier valor dentro de un determinado intervalo continuo). La señal analógica se amplificada para encajarla dentro de dos valores límites, p.e. entre 5 voltios y +5 voltios.
Señal analógica captada por un micrófono al pronunciar la palabra casa; Tramo de muestras comprendido entre 0,184 a 0,186 segundos;
64 Cont Los valores obtenidos en la conversión (muestras) se almacenan en posiciones consecutivas
Valores de las muestras obtenidos por un conversor A/D y que representan a la señal de voz.
Principales parámetros de grabación: Frecuencia de muestreo (suficiente para no perder la forma de la señal original) Número de bits por muestra (precisión)
La capacidad necesaria para almacenar una señal de audio depende de los dos parámetros anteriores: 1 minuto de audio estéreo con calidad CD, necesita 10 MB (sin compresión de datos)
65 Representación de Imágenes Las imágenes se adquieren por medio de periféricos tales como escáneres, cámaras de video o cámaras fotográficas. Una imagen se representa por patrones de bits, generados por el periférico correspondiente. Formas básicas de representación: Mapa de bits Mapa de vectores
66 Imágenes de Mapas de BitsEstructura de una imagen con resolución de 640×580 elementos. La imagen se considera dividida en una fina retícula de celdas o elementos de imagen (pixels). A cada elemento de imagen (e.i.) se le asocia un valor (atributo) que se corresponde con su nivel de gris (b/n) o color, medio en la celda. La resolución es (nº e.i. horizontales x nº e.i. verticales). Se memoriza, almacenando ordenada y sucesivamente los atributos de los distintos elementos de imagen.
67 Características de algunas formas de imágenes digitalizadas
La calidad de la imagen depende de La resolución y Codificación del atributo (número de bits) La capacidad depende de dichos parámetros: Ejemplo: imagen de 16 niveles de grises (b/n) y con resolución de 640×350: 110 Kbytes Ejemplo: imagen con resolución XGA con 256 niveles para cada color básico: 2,25 MBytes
68 Imágenes de Mapas de Vectores
Se descompone la imagen en una colección de objetos tales como líneas, polígonos y textos con sus respectivos atributos o detalles (grosor, color, etc.) modelables por medio de vectores y ecuaciones matemáticas que determinan tanto su forma como su posición dentro de la imagen. Para visualiza una imagen, un programa evalúa las ecuaciones y escala los vectores generando la imagen concreta a ver.
Características: Sólo es adecuada para gráficos de tipo geométrico (no imágenes reales) Ocupan mucho menos espacio que los mapas de bits.
69 Compresión De Datos Diversas aplicaciones (multimedia, etc.) requieren utilizar archivos de gran capacidad. Volumen requerido para su almacenamiento en disco muy elevado el tiempo de transmisión del archivo por una red resulta excesivo Solución: transformación denominada compresión de datos. El archivo, antes de ser almacenado o transmitido se comprime mediante un algoritmo de compresión, y cuando se recupera para procesarlo o visualizarlo se aplica la técnica inversa para descomprimirlo.
Técnicas: Codificación por longitud de secuencias Codificación relativa o incremental Codificación dependiente de la frecuencia Codificación con diccionario adaptativo Codificación Lempel-Ziv Compresión GIF (imágenes) Compresión JPEG (imágenes) Compresión MPEG (imágenes) Compresión MP3 (sonidos)
70 Detección de errores en la Información Codificada Cuantas menos codificaciones se desperdicien el código es más eficiente. La eficiencia de un código (?) se define como el cociente entre el número de símbolos que se representan realmente, m, dividido para el número de símbolos que en total pueden representarse.
Con códigos binarios en que m = 2n, se tiene: ? = m/ m = m/2n , con 0< ? < 1
Cuanto más eficiente sea el código, entonces ? será mayor.
71 Ejemplo 3.17 Supongamos que usamos el código ASCII, para representar 95 símbolos . La eficiencia del código será:
sin bit de paridad: ? = m/ m = 95/27 = 0.742
con un bit adicional de paridad: ? = m/ m = 95/28 = 0.371
72 Cont Un código poco eficiente se dice que es redundante: R = ( 1 – ? ) · 100%
(Observamos que se da en %)
Ejemplo 3.18 En los casos considerados en el ejemplo anterior, las redundancias son: R = ( 1 0.742 ) · 100% = 28.8% R = ( 1 0.371 ) · 100% = 62.9%
En ocasiones, las redundancias se introducen deliberadamente para detectar posibles errores de transmisión o grabación de información.
73 Cont Por ejemplo: necesitamos transmitir 8 símbolos {A,B,C,D,E,F,G,H} Un código sin redundancia: n = 3 bits Si por error varía uno de los bits obtenemos otro símbolo del alfabeto. Esto considerando por sí mismo ( aisladamente) no puede ser detectado como erróneo. Pero, si usamos un código redundante, como el código II existirían algunas posibilidades de detectar errores.
74 Cont Las redundancias se introducen de acuerdo con algún algoritmo predeterminado. Los códigos pueden ser verificados por circuitos del computador o periféricos especializados en este objetivo. Uno de estos algoritmos añade al código inicial de cada carácter un nuevo bit llamado bit de paridad.
75 Bit de Paridad Existen dos criterios para introducir este bit: Bit de Paridad, Criterio Par: Se añade un bit ( 0 o 1 ) de forma que el número total de unos del código que resulte sea par.
Bit de Paridad, Criterio Impar: Se añade un bit ( 0 o 1 ) de forma que el número total de unos del código que resulte sea impar.
El bit de paridad se introduce antes de transmitir o grabar la información ( en la memoria principal, cinta o disco magnético).
76 Ejemplo: Por ruido o interferencia en la transmisión puede intercambiarse un bit (de 0 a 1 o de 1 a 0). Si en el receptor se comprueba la paridad se detecta el error ya que el número de unos deja de ser par o impar (según el criterio). De esta manera se podría producir automáticamente la retransmisión del carácter erróneo. Si se produjese el cambio de dos bits distintos, no se detectaría el error de paridad. Esto es poco probable que ocurra.