Sei sulla pagina 1di 7

CODIFICACIÓN Y REPRESENTACIÓN DE LA INFORMACIÓN:

1. Conceptos previos.
La ejecución de un programa implica realizar unos tratamientos según un conjunto ordenado
de instrucciones sobre unos datos.

Se presentan los problemas de cómo representar y registrar la información físicamente.

La información se suministra al ordenador con un conjunto de símbolos y caracteres que


nosotros entendemos, pero deben de sufrir un proceso interno de traducción para que lo
entienda el ordenador.

En el ordenador, la informació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 éste tema, se explicará como se guarda físicamente la información, para lo que será
necesario seguir unos métodos para su representación y codificación.

1.1.- Construcción de códigos

Un sistema digital utiliza información representada por magnitudes físicas que se limitan a
tomar sólo unos determinados valores discretos conocidos como señ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ínima de información.

Normalmente los bits no se almacenan individualmente, sino que forman grupos denominados
“palabras” (no confundir con el sentido habitual), 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ón. Una forma de codificar es


asignar una correspondencia unívoca entre los símbolos a representar y la secuencia de bits
que lo representa, de forma que cada uno de los símbolos tenga una y sólo una secuencia de
bits asignada.

La combinación de bits más utilizada es la 8 y recibe el nombre de byte.

2. Codificación:

2.1. Sistemas de numeración


Normalmente trabajamos con un sistema de numeración decimal pero existen otros. Así
hemos visto que los ordenadores utilizan un sistema binario, aunque también pueden trabajar
con otros sistemas que le resultan fáciles, como el octal o base 8 y el hexadecimal o base 16
que veremos a continuación.

Existen varios sistemas de numeración, los más comunes, como el decimal, son sistemas
posicionales, donde cada dígito tiene un peso concreto dependiendo de su posición.

Hay otros sistemas no posicionales como por ejemplo la numeración romana.


Los sistemas posicionales son aquellos en los que los valores de los números, no solo
dependen de la cifra utilizada sino de su posición.

En estos sistemas de numeración cada valor se obtiene a partir de la fórmula siguiente


(teorema fundamental de la numeración):

 ( digito )
i
i * (base ) i n = nº de dígitos
i = posición de 0 a n
base = sistema de numeración
La suma de todos los términos del sumatorio da lugar al número en base 10. Cuando hay
parte decimal, se aplica la misma fó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ón se puede representar por un conjunto de
dos valores. Esta información mí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úmero de binario a decimal usamos la fórmula general para calcular
cualquier nú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úmero decimal a binario se divide sucesiva/ el número por dos. El último
cociente y los restos forman su representación en base dos.

Si el nú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úmero binario. El proceso termina
cuando la parte decimal es nula.

Ejemplos:
Realizar la comprobación de que el número 93 en base diez es el nú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´661(10 a base(2 = 101001100´101

El sistema binario escrito se denomina código binario natural. En general un ordenador utiliza
sistema más complicados que el binario dentro de estos el octal y el hexadecimal.

Sistema Octal o base 8:


Sistema de numeración con ocho sí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í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úmero
de bits.
Ejercicio: Pasar 4375(8 a base (2 = 100011111101(2

De octal a decimal: utilizamos la forma general.


Ejercicio: 4375´672(8 = 4*8...........................= 2301´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´395(10 a base (8 = 564´312

Hexadecimal o base 16

Dec Hex.l Consta de 16 símbolos cogiendo desde 0 hasta 9 y continuando con las letras
0 0 desde la A hasta la F así obtendríamos la siguiente tabla:
1 1
2 2 Conversión de binario a hexadecimal: se hace grupos de 4 bits y se procede como
… … en el octal.
9 9
10 A Ejemplo:
Pasar 100010111111010´1001101 (2 a hexadecimal(16 = 45FA´95
11 B
12 C
De hexadecimal a binario:
13 D
Se separan cada una de las cifras del hexadecimal y se pone su correspondiente
14 E
binario utilizando cuatro cifras.
15 F
16 10 Ejemplo
17 11 Pasar A34´E2 (16 a base (2 = 101000110100´11100010
18 12
19 13 De hexadecimal a decimal: aplicando la forma general de los sistemas de
… … numeración posionales.
25 19
26 1A B7F (16 = 2943 (10
… …
30 1E De decimal a hexadecimal:
31 1F Se hacen divisiones entre 16.
32 20
4573´79 (10 = 11DD´CA3.

Así podemos construirnos una tabla general de equivalencias como sigue:

Decimal Binario Octal Hexadecimal


0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

Tabla resumen de métodos de conversión entre bases.

A modo de resumen, en la siguiente tabla se indica el método a seguir para pasar de un


sistema de numeración a otro.

Decimal Binario Octal Hexadecimal

Decimal ---- Div - Mult Div - Mult Div - Mult

Binario Fórmula ---- Grupos de 3 Grupos de 4 bits


Gral. bits

Octal Fórmula Por Tabla ---- Por tabla


Gral.
----
Hexadecimal Fórmula Por Tabla Por Tabla
Gral.

Donde:

 Formula Gral. = Fórmula general de numeració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ún la tabla y si no se pasa primero a binario.
2.2. Códigos alfanuméricos:

ASCII ( American Standard Code for Information Interchange)


Inicialmente constaba de 7 bits, que permitían 2 elevado a 7 igual a 128 combinaciones, y
luego se amplió a 8 bits, que es el llamado ASCII extendido, donde abarcamos hasta 2
elevado a 8, es decir 256 caracteres. Podemos dividir la tabla ASCII en grupos:

- Códigos transparentes: no se corresponden a ningún carácter alfanumérico y se


utilizan para transmitir instrucciones de control como por ejemplo indicar un salto de
línea a la impresora, emitir un pitido, etc.

- Símbolos y números: ocupan las posiciones desde el 32 al 64 ( Decimal).


- Letras: ocupan las posiciones desde 65 hasta 127, se incluyen las mayúsculas,
minúsculas y algunos símbolos matemáticos y de puntuación.
En Windows 98 se utiliza la codificación ANSI, similar al ASCII, pero cambian algunos
caracteres. De ahí que si intentamos sacar con la combinación de teclas [ALT +Cod.ascii],
algunos caracteres no son como nos aparecen en la tabla ASCII.
BCD
Códigos decimales codificados en binario (BCD).
La razón principal de la existencia de los códigos BCD, es que la información procesada
por cualquier sistema digital ha de convertirse finalmente al sistema decimal para su fácil
interpretación. En los códigos BCD cada número decimal se codifica directamente en un
código binario. Para representar los diez dígitos del 0 al 9 se necesitan 4 bits, y por tanto
de las 16 combinaciones posibles con 4 bits en los códigos BCD, solamente se utilizan
10.El BCD es un sistema que permite expresar, cada uno de los dígitos decimales con un
código binario, Puesto que en el sistema BCD, solo existen diez grupos de códigos, es muy
fácil convertir entre decimal y BCD y viceversa. Así como se lee y escribe en decimal, el
grupo BCD, nos proporciona un excelente interfaz para los sistemasbinarios. Por ejemplo
las entradas por teclado y las salidas digitales.Es importante entender que los números
BCD son números decimales y no números binarios. La única diferencia entre un número
decimal y uno BCD, es que los decimales se escriben con los símbolos 0, 1, 2, ...., 9. Y los
números BCD, utilizan los códigos 0000, 0001, 0010,...., 1001. Pero el valor del número es
exactamente el mismo.

EBCDIC ( Extended Binary Coded Decimal Interchange Code).


Similar al BCD, pero utiliza 8 bits por lo que representa 256 símbolos, lo que posibilita
codificar más caracteres de control y especiales. Es bastante utilizado en máquinas IBM.

Unicode.
Unicode es un estándar de codificación de caracteres creado para facilitar el tratamiento
informático, así como la transmisión y la visualización de textos de múltiples lenguajes y
disciplinas técnicas. El término Unicode proviene de los tres objetivos perseguidos:
universalidad, uniformidad y unicidad.

Unicode asigna un nombre e identificador numérico único para cada carácter o símbolo, el
code point o punto de código, aparte de otras informaciones necesarias para su uso
correcto: direccionalidad, mayúsculas y otros atributos. Unicode trata los caracteres
alfabéticos, ideográficos y símbolos de forma equivalente, es decir, se pueden mezclar en
un mismo texto sin la introducción de marcas o caracteres de control.

Este estándar industrial proporciona el medio por el cual un texto en cualquier forma e
idioma puede ser codificado para el uso informático. Este estándar representa caracteres
como enteros, Unicode-16 utiliza 16 bits para cada carácter a diferencia del ASCII que
utiliza 7 bits por carácter. Esta diferencia hace que pueda representar más de 65 mil
caracteres únicos. Para idiomas como el inglés, español y otros idiomas europeos el ASCII
es suficiente. La necesidad de más caracteres surge por idiomas más complejos como el
japonés, el chino o el griego entre otros. Hay otros estándares como UTF8 y UTF32.

Este estándar es sostenido por el UTC (Unicode Technical Committee) integrado en el


Consorcio Unicode, en el que forman parte con diferentes grados de implicación empresas
tan conocidas como Microsoft, Adobe, Ibm, Apple, Oracle entre otras. El Consorcio Unicode
sostiene una estrecha relación con ISO/IEC (International Organization for Standardization
y por la comisión International Electtrotechnical Commission) con quien tiene un acuerdo
para sincronizar sus estándares que contienen los mismos caracteres y puntos de código.

Potrebbero piacerti anche