# Representación y codificación de la información.

Anuncio
```Sistemas Inform&aacute;ticos Multiusuario y en Red
Tema 2. Codificaci&oacute;n y Representaci&oacute;n de la Informaci&oacute;n
TEMA 2 – CODIFICACI&Oacute;N Y REPRESENTACI&Oacute;N DE LA INFORMACI&Oacute;N:
&Iacute;NDICE
1.
Conceptos previos. .......................................................................................................... 1
1.1.- Construcci&oacute;n de c&oacute;digos ................................................................................................. 2
2.
Codificaci&oacute;n: ................................................................................................................... 3
2.1. Sistemas de numeraci&oacute;n .............................................................................................. 3
Sistema binario. .................................................................................................................................3
Sistema Octal o base 8: .....................................................................................................................4
Tabla resumen de m&eacute;todos de conversi&oacute;n entre bases. .....................................................................6
2.2.
C&oacute;digos alfanum&eacute;ricos: ............................................................................................... 7
ASCII ( American Standard Code for Information Interchange) ......................................................7
Fieldata. .............................................................................................................................................8
BCD o Binary Coded Decimal. .........................................................................................................8
EBCDIC ( Extended Binary Coded Decimal Interchange Code)......................................................8
Unicode. ............................................................................................................................................8
3.
3.1.
Representaci&oacute;n de la informaci&oacute;n: .................................................................................. 9
Coma fija: .................................................................................................................... 9
Signo y M&oacute;dulo. ................................................................................................................................9
Complemento a 1 (Ca1) ....................................................................................................................9
Complemento a 2 (Ca 2): ................................................................................................................10
3.2.
Coma flotante. ........................................................................................................... 10
--------------- oOo ---------------
1. Conceptos previos.
La ejecuci&oacute;n de un programa implica realizar unos tratamientos seg&uacute;n un conjunto ordenado de
instrucciones sobre unos datos.
Se presentan los problemas de c&oacute;mo representar y registrar la informaci&oacute;n f&iacute;sicamente.
La informaci&oacute;n se suministra al ordenador con un conjunto de s&iacute;mbolos y caracteres que nosotros
entendemos, pero deben de sufrir un proceso interno de traducci&oacute;n para que lo entienda el ordenador.
En el ordenador, la informaci&oacute;n, ya sean instrucciones o datos, se almacena en la memoria principal,
se procesa en UAL y se transfiere en las diferentes unidades en formato binario.
En &eacute;ste tema, se explicar&aacute; como se guarda f&iacute;sicamente la informaci&oacute;n, para lo que ser&aacute; necesario
seguir unos m&eacute;todos para su representaci&oacute;n y codificaci&oacute;n.
Prof.: Justo S&aacute;ez Arenas [jsaez.com]
1
Sistemas Inform&aacute;ticos Multiusuario y en Red
Tema 2. Codificaci&oacute;n y Representaci&oacute;n de la Informaci&oacute;n
1.1.- Construcci&oacute;n de c&oacute;digos
Un sistema digital utiliza informaci&oacute;n representada por magnitudes f&iacute;sicas que se limitan a tomar s&oacute;lo
unos determinados valores discretos conocidos como se&ntilde;ales. En el sistema digital estos valores
discretos se representan por 0 y 1 y generalmente se conocen como bit ( Binary digIT) que se define
como la unidad m&iacute;nima de informaci&oacute;n.
Normalmente los bits no se almacenan individualmente, sino que forman grupos denominados
palabras, siendo la longitud de palabra con la que trabaja un ordenador, la cantidad de bits que trata
de forma conjunta.
Mediante estos conjuntos de bits codificaremos la informaci&oacute;n. Una forma de codificar es asignar una
correspondencia un&iacute;voca entre los s&iacute;mbolos a representar y la secuencia de bits que lo representa, de
forma que cada uno de los s&iacute;mbolos tenga una y s&oacute;lo una secuencia de bits asignada.
As&iacute; por ejemplo queremos representar el conjunto de s&iacute;mbolos A = {a,b,c} con el grupo de bits B =
{0,1}.
Podr&iacute;amos realizar una asignaci&oacute;n como sigue:
A B
a
b
c
0
1
01
Pero &eacute;sta asignaci&oacute;n pude dar lugar a diferentes representaciones. En al caso de tener una serie de bits
como 011, puedo interpretarlo como abb o como ca.
A
a
b
c
B
00
01
10
Normalmente solucionar&iacute;amos este problema obligando a que cada s&iacute;mbolo de A se
represente con la misma cantidad de bits.
En general, para codificar en binario un conjunto de n s&iacute;mbolos, ser&aacute; necesario un n&uacute;mero de n bits
de modo que se cumpla.
Cantidad de bits &gt;= log 2 n-s&iacute;mbolos
Ejemplos:
Si tenemos un sistema con tres tipos de se&ntilde;ales diferentes y queremos representar once
s&iacute;mbolos cuantos bits necesitamos.
Tres puesto que 3 a la 3 son 27.
Queremos representar 352 s&iacute;mbolos en un sistema binario, cuantos bits necesitamos.
Nueve, 2 a la 9 son 512.
La combinaci&oacute;n de bits m&aacute;s utilizada es la 8 y recibe el nombre de byte.
Prof.: Justo S&aacute;ez Arenas [jsaez.com]
2
Sistemas Inform&aacute;ticos Multiusuario y en Red
Tema 2. Codificaci&oacute;n y Representaci&oacute;n de la Informaci&oacute;n
2. Codificaci&oacute;n:
2.1. Sistemas de numeraci&oacute;n
Normalmente trabajamos con un sistema de numeraci&oacute;n decimal pero existen otros. As&iacute; hemos visto
que los ordenadores utilizan un sistema binario, aunque tambi&eacute;n pueden trabajar con otros sistemas
que le resultan f&aacute;ciles, como el octal o base 8 y el hexadecimal o base 16 que veremos a continuaci&oacute;n.
Existen varios sistemas de numeraci&oacute;n, los m&aacute;s comunes, como el decimal, son sistemas
posicionales, donde cada d&iacute;gito tiene un peso concreto dependiendo de su posici&oacute;n.
Hay otros sistemas no posicionales como por ejemplo la numeraci&oacute;n romana.
Los sistemas posicionales son aquellos en los que los valores de los n&uacute;meros, no solo dependen de la
cifra utilizada sino de su posici&oacute;n.
En estos sistemas de numeraci&oacute;n cada valor se obtiene a partir de la f&oacute;rmula siguiente:
n
 (digito)i * (base)i
i
n = n&ordm; de d&iacute;gitos
i = posici&oacute;n de 0 a n
base = sistema de numeraci&oacute;n
La suma de todos los t&eacute;rminos del sumatorio da lugar al n&uacute;mero en base 10. Cuando hay parte
decimal, se aplica la misma f&oacute;rmula pero con potencia negativa.
Sistema binario.
Se corresponde naturalmente con el contenido de los registros del ordenador de modo que
independientemente de su significado, la informaci&oacute;n se puede representar por un conjunto de dos
valores. Esta informaci&oacute;n m&iacute;nima representada con 1 o 0 es lo que conocemos como bit (binary
digit). A partir de esta unidad elemental se manejan otras unidades superiores:
1 Byte = octeto = 8 bits
1 Kilobyte = 1024 Bytes
1 Megabyte = 1024 Kb
1 Gigabyte = 1024 Mb
1 Terabyte = 1024 Gb
Para convertir un n&uacute;mero de binario a decimal usamos la f&oacute;rmula general para calcular cualquier
n&uacute;mero sabiendo que es un sistema posicional y sabiendo su base.
Ejemplo: 1011101(2 = 1 * 26 + 0 * 25 + 1 * 24 + 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 + = 93
Para convertir un n&uacute;mero decimal a binario se divide sucesiva/ el n&uacute;mero por dos. El &uacute;ltimo cociente
y los restos forman su representaci&oacute;n en base dos.
Si el n&uacute;mero en base diez tiene parte decimal se va multiplicando la parte decimal por potencias de
dos y las partes enteras resultantes forman el n&uacute;mero binario. El proceso termina cuando la parte
decimal es nula.
Prof.: Justo S&aacute;ez Arenas [jsaez.com]
3
Sistemas Inform&aacute;ticos Multiusuario y en Red
Tema 2. Codificaci&oacute;n y Representaci&oacute;n de la Informaci&oacute;n
Ejemplos:
Realizar la comprobaci&oacute;n de que el n&uacute;mero 93 en base diez es el n&uacute;mero binario de antes.
93/2/2/2.......= 1011101
Pasar 315(10 a base (2 = 100111011
Convertir 0.625(10 a base (2 = 0.101
Pasar 332&acute;661(10 a base(2 = 101001100&acute;101
El sistema binario escrito se denomina c&oacute;digo binario natural. En general un ordenador utiliza sistema
m&aacute;s complicados que el binario dentro de estos el octal y el hexadecimal.
Adem&aacute;s para datos num&eacute;ricos se utilizan otros formatos para almacenarlos de forma que se utilice
mejor los recursos de la m&aacute;quina, por ejemplo formatos de coma fija, formatos de coma flotante que
se basan en la representaci&oacute;n como Ca1(completo a1) y Ca2, se ver&aacute;n m&aacute;s adelante.
Sistema Octal o base 8:
Sistema de numeraci&oacute;n con ocho s&iacute;mbolos diferentes que son:0,1,2,3,4,5,6,7.
Este sistema se utiliza debido a la facilidad con que puede pasarse a binario para lo cual:
De binario a octal: tomamos la cifra binaria y cogemos grupos de 3 d&iacute;gitos empezando por la derecha.
Pasamos cada grupo a octal y el conjunto de cifras obtenidas forman el grupo octal.
Ejercicio: Pasar 10110001001011(2 a base (8 = 26113(8
De octal a binario: se coge cada cifra en base 8 y se cambia por su correspondiente n&uacute;mero de bits.
Ejercicio: Pasar 4375(8 a base (2 = 100011111101(2
De octal a decimal: utilizamos la forma general.
Ejercicio: 4375&acute;672(8 = 4*8...........................= 2301&acute;862
De decimal a octal: Igual que pasar de decimal a binario con la diferencia que en lugar de dividir
entre 2, se divide entre 8.
Ejemplo:
Pasar 372&acute;395(10 a base (8 = 564&acute;312
Prof.: Justo S&aacute;ez Arenas [jsaez.com]
4
Sistemas Inform&aacute;ticos Multiusuario y en Red
Tema 2. Codificaci&oacute;n y Representaci&oacute;n de la Informaci&oacute;n
Dec Hex.l
0
0
1
1
2
2
…
…
9
9
10
A
11
B
12
C
13
D
14
E
15
F
16
10
17
11
18
12
19
13
…
…
25
19
26
1A
…
…
30
1E
31
1F
32
20
Consta de 16 s&iacute;mbolos cogiendo desde 0 hasta 9 y continuando con las letras desde la A
hasta la F as&iacute; obtendr&iacute;amos la siguiente tabla:
Conversi&oacute;n de binario a hexadecimal: se hace grupos de 4 bits y se procede como en el
octal.
Ejemplo:
Pasar 100010111111010&acute;1001101 (2 a hexadecimal(16 = 45FA&acute;95
Se separan cada una de las cifras del hexadecimal y se pone su correspondiente binario
utilizando cuatro cifras.
Ejemplo
Pasar A34&acute;E2 (16 a base (2 = 101000110100&acute;11100010
De hexadecimal a decimal: aplicando la forma general de los sistemas de numeraci&oacute;n
posionales.
B7F (16 = 2943 (10
Se hacen divisiones entre 16.
4573&acute;79 (10 = 11DD&acute;CA3.
As&iacute; podemos construirnos una tabla general de equivalencias como sigue:
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Prof.: Justo S&aacute;ez Arenas [jsaez.com]
Binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
10000
Octal
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
5
Sistemas Inform&aacute;ticos Multiusuario y en Red
Tema 2. Codificaci&oacute;n y Representaci&oacute;n de la Informaci&oacute;n
Tabla resumen de m&eacute;todos de conversi&oacute;n entre bases.
A modo de resumen, en la siguiente tabla se indica el m&eacute;todo a seguir para pasar de un sistema de
numeraci&oacute;n a otro.
Decimal
Binario
Octal
Decimal
----
Div - Mult
Div - Mult
Binario
F&oacute;rmula Gral.
----
Octal
F&oacute;rmula Gral.
Por Tabla
----
Por Tabla
Por Tabla
Div - Mult
Grupos de 3 bits Grupos de 4 bits
Por tabla
----
Donde:





Formula Gral. = F&oacute;rmula general de numeraci&oacute;n.
Div -Mult = Divisiones sucesivas parte entera y multiplicaciones sucesivas la
parte decimal.
Grupo de 3 bits = del binario se cogen de 3 en 3 para pasarlos a octal.
Grupo de 4 bits = del binario se cogen de 4 en 4 para pasarlos a hexadecimal.
Por tabla = Seg&uacute;n la tabla y si no se pasa primero a binario.
Prof.: Justo S&aacute;ez Arenas [jsaez.com]
6
Sistemas Inform&aacute;ticos Multiusuario y en Red
Tema 2. Codificaci&oacute;n y Representaci&oacute;n de la Informaci&oacute;n
2.2. C&oacute;digos alfanum&eacute;ricos:
ASCII ( American Standard Code for Information Interchange)
Utiliza 7 bits aunque tambi&eacute;n existe con 8 bits. Podemos dividir la tabla ASCII en grupos:
- C&oacute;digos transparentes: no se corresponden a ning&uacute;n car&aacute;cter alfanum&eacute;rico y se utilizan
para transmitir instrucciones de control como por ejemplo indicar un salto de l&iacute;nea a la
impresora, emitir un pitido, etc.
-
S&iacute;mbolos y n&uacute;meros: ocupan las posiciones desde el 32 al 64 ( Decimal).
Letras: ocupan las posiciones desde 65 hasta 127, se incluyen las may&uacute;sculas, min&uacute;sculas
y algunos s&iacute;mbolos matem&aacute;ticos y de puntuaci&oacute;n.
En Windows 98 se utiliza la codificaci&oacute;n ANSI, similar al ASCII, pero cambian algunos
caracteres. De ah&iacute; que si intentamos sacar con la combinaci&oacute;n de teclas [ALT +Cod.ascii],
algunos caracteres no son como nos aparecen en la tabla ASCII.
Prof.: Justo S&aacute;ez Arenas [jsaez.com]
7
Sistemas Inform&aacute;ticos Multiusuario y en Red
Tema 2. Codificaci&oacute;n y Representaci&oacute;n de la Informaci&oacute;n
Fieldata.
Utiliza 6 bits con lo cual permite codificar 64 caracteres. En este c&oacute;digo no se hace ninguna
distinci&oacute;n entre letras min&uacute;sculas y may&uacute;sculas.
BCD o Binary Coded Decimal.
errores de transmisi&oacute;n. Los caracteres num&eacute;ricos del 1 al 9 se corresponden con su representaci&oacute;n
en binario por eso se denominan Decimal Codificado en Binario, b&aacute;sicamente su estructura es la
siguiente:
Significado Bits de Verificaci&oacute;n Bits de zona Bits de posici&oacute;n
Bit n&ordm;.:
6
5
4
3 2 1 0
Bit de verificaci&oacute;n: Se utiliza para controlar posibles errores de codificaci&oacute;n.
Bits de zona: es el 4&ordm; o 5&ordm; bit, cuando son 00 indican que el que se representa es un n&uacute;mero.
Bits de posici&oacute;n: codifican el car&aacute;cter.
EBCDIC ( Extended Binary Coded Decimal Interchange Code).
Similar al BCD, pero utiliza 8 bits por lo que representa 256 s&iacute;mbolos, lo que posibilita codificar
m&aacute;s caracteres de control y especiales. Es bastante utilizado en m&aacute;quinas IBM.
Unicode.
Es un juego de caracteres en el que se emplean dos bytes (16 bits) para representar cada car&aacute;cter.
Esto permite la representaci&oacute;n de 65536 s&iacute;mbolos, lo que posibilita representar cualquier car&aacute;cter
de cualquier lenguaje escrito del mundo, incluido el chino, japon&eacute;s o coreano. Lo utiliza
Windows NT.
Prof.: Justo S&aacute;ez Arenas [jsaez.com]
8
Sistemas Inform&aacute;ticos Multiusuario y en Red
Tema 2. Codificaci&oacute;n y Representaci&oacute;n de la Informaci&oacute;n
3. Representaci&oacute;n de la informaci&oacute;n:
Para representar datos num&eacute;ricos se usan formatos que van a ahorrar espacio de memoria ya que si
representamos con las codificaciones anteriormente estudiadas ser&iacute;a muy dif&iacute;cil de manejar, en casos
que necesit&aacute;semos utilizar n&uacute;meros de muchas cifras.
B&aacute;sicamente podemos diferenciar formatos en “coma fija” y en “coma flotante” que nos va a permitir
almacenar el signo, la parte entera y la parte decimal de un n&uacute;mero.
3.1. Coma fija:
En este formato la coma ocupa una posici&oacute;n constante. Se puede almacenar de tres formas
diferentes, en m&oacute;dulo y signo, complemento a 1 y complemento a 2.
Vemos a continuaci&oacute;n una tabla con n&uacute;meros codificados de las tres formas.
DECIMAL M&Oacute;DULO Y SIGNO
+127
0-1111111
+64
0-1000000
+5
0-0000101
+0
0-0000000
-0
1-0000000
-5
1-0000101
-30
1-0011110
-127
1-1111111
Ca 1
=
=
=
=
1.1111111
1.1111010
1.1100001
1.0000000
Ca 2
=
=
=
0-0000000
0-0000000
1-1111011
1-1100010
1-0000001
Signo y M&oacute;dulo.
Es una forma de representar los n&uacute;meros positivos y negativos.
En Los n&uacute;meros positivos el primer bit es un 0 y el resto indican el valor absoluto
Para n&uacute;meros negativos el primer bit es un 1 y el resto indican el valor absoluto.
Como se observa el cero tiene dos posibles representaciones con lo que se desperdicia una
posibilidad de codificaci&oacute;n, esto se intentara evitar con otros tipos de representaciones.
As&iacute; mismo se observa que podemos representar mediante 8 bits valores entre el –127 y el +127.
Complemento a 1 (Ca1)
En este tipo de representaci&oacute;n binaria, los n&uacute;meros positivos se representan igual que en modulo
y signo. Los negativos se representan como complemento a 1 del n&uacute;mero positivo.
El cero sigue teniendo dos representaciones.
El Ca 1 de un n&uacute;mero en binario se calcula directamente cambiando los 0 por 1 y viceversa. Por
ejemplo si queremos representar el -5, tomamos el +5 y cambiamos los ceros por unos y
viceversa.
Prof.: Justo S&aacute;ez Arenas [jsaez.com]
9
Sistemas Inform&aacute;ticos Multiusuario y en Red
Tema 2. Codificaci&oacute;n y Representaci&oacute;n de la Informaci&oacute;n
Complemento a 2 (Ca 2):
Este tipo de representaci&oacute;n los n&uacute;meros positivos se representan con modulo y signo y los
negativos con el Ca 2, el cual se calcula pasando previamente a Ca 1 y sumando 1.
Con &eacute;ste m&eacute;todo el cero solo tiene una representaci&oacute;n. Y adem&aacute;s para realizar la resta de dos
n&uacute;meros el ordenador realiza un complemento a 2 y luego suma, con lo que un circuito sumador
sirve como restador, gracias a pasar el sustraendo a complemento a 2.
3.2. Coma flotante.
En oposici&oacute;n al t&eacute;rmino de n&uacute;meros en coma aparece otro c&oacute;digo de representaci&oacute;n de n&uacute;meros
reales denominado en punto o coma flotante (CF &oacute; FP). Este nombre se deriva del hecho de que
la posici&oacute;n de la coma puede flotar o moverse a cualquier posici&oacute;n del n&uacute;mero y permitir por
ello una mayor precisi&oacute;n en el mismo.
Para entender el significado de los n&uacute;meros en CF, acudimos a ejemplos m&aacute;s evidentes del
sistema decimal:
Supongamos que tenemos los n&uacute;meros reales con seis d&iacute;gitos: 3135,07 y 0,04576.
En notaci&oacute;n de coma fija con 4 d&iacute;gitos para los enteros y 2 d&iacute;gitos para los decimales se
escribir&iacute;an 3135,07 y 0,04, perdiendo informaci&oacute;n en el segundo de los n&uacute;meros.
Manteniendo el mismo n&uacute;mero de 6 d&iacute;gitos significativos, si se pasa a una notaci&oacute;n de CF
normalizada, en donde la coma decimal se sit&uacute;a a la izquierda del primer d&iacute;gito significativo, es
decir la parte entera vale 0, se escribir&aacute;n 0,313507 x104 y 0,457600 x 10-1.
Como se observa en estos ejemplos, la coma decimal se ha desplazado (ha flotado) hacia la
derecha o hacia la izquierda para obtener la misma estructura en la notaci&oacute;n.
En el caso del sistema binario la coma binaria flota de la misma forma:
Sean los n&uacute;meros binarios 0101,102 (5,510) y 0,0112 (0,37510) en CF normalizada, con 5 d&iacute;gitos
significativos, se representar&iacute;an como 0,10110 x23 y 0,11000 x 2-1.
Observar que siempre el primer d&iacute;gito binario significativo debe ser un '1'.
La notaci&oacute;n en CF es m&aacute;s lenta de procesar y menos precisa que la notaci&oacute;n en coma fija, pero
dado un tama&ntilde;o fijo de d&iacute;gitos, permite un mayor rango en los n&uacute;meros que se pueden
representar.
Debido a que las operaciones aritm&eacute;ticas que se realizan con n&uacute;meros en CF son muy complejas
de realizar, muchos sistemas destinan un procesador especial para la realizaci&oacute;n espec&iacute;fica de