SI1.3 - Sistemas de codificación



Para codificar la información en el formato binario se utilizan diversos métodos, que dependen del tipo de dato a codificar, vemos algunos de ellos:

Para las instrucciones se utilizan códigos preestablecidos, de tal forma que a cada una de ellas le corresponde un número determinado de bytes y una secuencia concreta de ceros y unos.

Para codificar datos alfanuméricos el sistema más difundido es el ASCII que consiste en utilizar un byte para codificar cada carácter. Así, el número máximo de caracteres a codificar es de 256, que es el número máximo de combinaciones diferentes de ceros y unos que se pueden formar con 8 bits (1 Byte). Por ejemplo: Codificar HOLA representado en Hexadecimal, ver  la  tabla:
Para codificar datos numéricos se utilizan varios sistemas. Entre los más difundidos se encuentran:
  • Binario puro.- se utilizan 32 bits de los cuales el de más a la izquierda se utiliza para representar el signo, 0 si es positivo y 1 si es negativo, y los 31 restantes para representar el valor del número.
  • Decimal desempaquetado: se utilizan tantos bytes como dígitos tiene el número decimal a codificar. Cada byte tiene los cuatro bits de la izquierda con unos (1111), se denominan bits de zona, y los cuatro de la derecha corresponden a la cifra decimal correspondiente. El byte de más a la derecha, en vez de tener cuatro unos en los bits de zona, tiene “1100” si el número es positivo y “1101” si el número es negativo. Ejemplo,  numero 1992:   
  • Decimal empaquetado: cada dígito decimal se codifica en un cuarteto y en el cuarteto de más a la derecha se codifica el signo, con las mismas combinaciones que para el caso anterior. Se utiliza un número entero de bytes aunque cuando el número de dígitos decimales es par el cuarteto de más a la izquierda lleve el valor “0000”. Ejemplo,  numero 1992:

UNICODE: Codificación de caracteres de 16 bits que representa cualquier caracter independientemente
                     de su idioma o su Sistema Operativo. Formas de codificación:
  • UTF-8: La unidad de información es el Byte 
  • UTF-16: La unidad de información son dos Bytes (BE/LE)* 
  • UTF-32: La unidad de información son cuatro Bytes (BE/LE)*
BE/LE: Hacen referencia a que pueden ser de dos tipos, Big Endian / Little Endian, sirven para conocer el
             modo que en que se guarda la información que ocupa más de un Byte.