lunes, 17 de septiembre de 2012

REPRESENTACION DE DATOS EN EL COMPUTADOR (PARTE I)



Enteros

Son un conjunto de números que incluyen a los números naturales (1, 2, 3, etc.), a los números negativos de los naturales (-1, -2, -3, etc.) y por último es contando también el cero (0).  En computación es un tipo de dato que se puede representar en un subconjunto finito de los números enteros. La representación del número depende del tamaño del espacio usado por el dato y la posibilidad de poder o no poder representar también a los números negativos de los naturales, el tamaño de este tipo de dato depende del tipo de lenguaje de programación usado además de su arquitectura. “Hay que tener en cuenta que, en la aritmética decimal, se utilizan nuevos símbolos (signos más “+” y menos “-”) para indicar si determinado número es positivo o negativo. No es posible utilizar este mismo convenio cuando se trata de la representación de números en el computador, puesto que solo puede almacenar bits (ceros y unos).” (Sahuquillo, 1997, Pág. 55). El uso de los signos más “+” y menos “-” en nuestra vida cotidiana es fácil de ser representado pero la computadora no puede entender esta representación ya que solo utiliza dígitos binarios, pero se podría extrapolar de manera que se pueda asignar un bit a cada signo. Convencionalmente se hace que más “+” sea igual a cero “0” y menos “-” sea igual a uno “1”, a este método de representación de números negativos se les denomina como signo y magnitud. “Con esta idea presente, las únicas posibilidades para representar números con signo son: 

  • Reservar un bit en una posición específica para indicar el signo. Por ejemplo, “0” podría indicar que el número es positivo y “1” que es negativo.
  •  Determinar el signo del número a partir de su valor. Por ejemplo, se puede escoger una combinación cualquiera como el valor cero; las combinaciones menores que esta (realizando la comparación como si se tratara de números en binario natural) pueden representar números negativos y las mayores a los números positivos, o viceversa.” (Sahuquillo, 1997, Pág. 55).

Para codificar los números naturales entre 0 y 255 se necesitan 8 bits es decir 28= 256. Por lo general la codificación de un bit n se puede utilizar para representar números naturales entre 0 y 2n-1 Para representar un numero natural, una vez definido el número de bits se utilizaran para su codificación, ordene los bits en celdas binarias (cada bit ubicado de acuerdo a su peso binario en el orden de derecha a izquierda)  y luego llene los bits que no se utilizan con ceros.

REPRESENTACIÓN DE UN NUMERO NATURAL

·         Un número entero o cero se representará en base binaria (base 2) como un número natural, con la excepción de que el bit de mayor peso (aquel que se encuentra más a la izquierda) representa el signo más o menos. Por lo tanto, para un número entero o cero, este bit se debe establecer en 0 (lo que corresponde al signo más, así como 1 es el signo menos). De este modo, si un número natural se codifica utilizando 4 bits, el mayor número posible será 0111 (o 7 en base decimal). Generalmente, el mayor número entero posible codificado utilizando n bits será 2n-1-1.

·         Un número entero negativo se codifica utilizando complementos dobles.
El principio de los complementos dobles:

Se elige un número negativo.

    • Se toma su valor absoluto (su equivalente positivo)
    • Se representa en base binaria utilizando n-1 bits
    • Cada bit se cambia con su complemento (es decir, los ceros se reemplazan con unos y viceversa)
    • Se suma 1
Punto flotante

Los números reales son un conjunto de números racionales (positivos, negativos y el cero), además de los números irracionales (trascendentes y algebraicos), que no se pueden representar de manera fraccionaria y tienen diferentes cifras decimales no periódicas. “Un número real es aquel que consta de una parte entera y otra fraccionaria. En la aritmética decimal ambas partes están separadas mediante un nuevo símbolo: la coma decimal. Existe otra forma de representar números reales que también se usa con frecuencia, la notación científica o exponencial.” (Sahuquillo, 1997, Pág. 65). Normalmente las aplicaciones que realizamos no siempre son con números enteros por eso es que existen varias maneras de representar números que no son enteros. Alguna de estas maneras es usar un punto fijo, es decir que ubica el punto en una posición a la derecha del digito menos significativo. “Este tipo de representación es la primera que se utilizó en los computadores, aunque actualmente solo se usa en algunos procesadores de propósito específico (por ejemplo, en algún modelo de procesador digital de señal o DSP)” (Sahuquillo, 1997, Pág. 65).  Otra manera es la representación de punto flotante, es decir que un número puede ser expresado mediante un exponente y una mantisa. Podemos representar este número 23.75 de las siguientes maneras:

Mantisa
Exponente
23.75
100
2.375
101

Ahora se puede representar los números en forma binaria, la representación en un ordenador es necesaria para que este pueda almacenarlos y manipularlos. Por lo tanto la clave es predeterminar un numero de bits y como se interpretan para que representen la cifra de la manera más eficiente posible.
El objetivo es representar un número con un punto decimal en sistema binario (por ejemplo, 101.01, que no se lee ciento uno punto cero uno ya que es, de hecho, un número binario, 5,25 en sistema decimal) mediante el formato 1.XXXXX... * 2n (en nuestro ejemplo, 1.0101*22). El estándar IEEE 754 define cómo codificar un número real.

Este estándar ofrece una forma de codificar un número utilizando 32 bits, y define tres componentes:
  • el signo más/menos se representa por un bit: el bit de mayor peso (aquel que se encuentra más a la izquierda)
  • el exponente se codifica utilizando 8 bits inmediatamente después del signo
  • la mantisa (los bits después del punto decimal) con los 23 bits restantes
Signo
Exponente con
Signo
Mantisa
1
8
23





Codificación de un número utilizando 64 bits.

Signo
Exponente en
exceso
Mantisa
1 bit
11 bits
52 bits


 BIBLIOGRAFIA

  •  Julio Sahuquillo Borrás, Houcine Hassan, Lenin Lemus, Javier Molero, Rafael Ors y Francisco Rodríguez  (1997). Introducción a los computadores. Ed. Servicio de Publicaciones.

No hay comentarios:

Publicar un comentario