Representación de datos en memoria

Informática. Computación. Software. Memoria. BCD (Binary-Coded Decimal). ASCII (American Standard Code For Information Interchange)

  • Enviado por: Mister X
  • Idioma: castellano
  • País: Chile Chile
  • 9 páginas
publicidad
cursos destacados
Ruby on Rails
Ruby on Rails
¿Por qué Ruby on Rails es el lenguaje de programación del futuro? Ruby on Rails nos facilita la...
Ver más información

Desarrollo de Apps para iOS y Android con Adobe Flash Platform
Desarrollo de Apps para iOS y Android con Adobe Flash Platform
El objetivo del curso es que los alumnos puedan, sin conocimientos previos, desarrollar y diseñar aplicaciones para...
Ver más información

publicidad

REPRESENTACION DE DATOS EN MEMORIA

CODIGO BCD:

El código BCD (decimal codificado en binario) utiliza un cuarteto o nibble (4bits) para la representación de cada cifra decimal. Existen varias versiones de este código:

-BCD natural: Sistema que codifica cifra a cifra del 0 al 9 con 4 bits y su valor binario sin más. La tabla de equivalencias entre el sistema decimal y el BCD natural es:

DECIMAL

BCD NATURAL

0

1

2

3

4

5

6

7

8

9

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

El 13, por ejemplo, tedrá una codificación:

0001 0011

  • 3

Mientras que en binario puro se representa como:

1011

Otros dos sistemas de codificación basados en el código BCD natural son:

-Decimal desempaquetado: En este sistema, un número se almacena con un byte por cada una de sus cifras. Cada byte lleva en su cuarteto de la izquierda de la última cifra representa el signo. Contenido 1100 para el “+“ y 1101 para el “-“ (C y D respectivamente en hexadecimal)

Por ejemplo:

1992 1111 0001 1111 1001 1111 1001 1100 0010

1 9 9 signo + 2

-1992 1111 0001 1111 1001 1111 1001 1100 0010

1 9 9 signo - 2

-Decimal empaquetado: En este sistema, se elimina el cuarteto de la izquierda del sistema anterior, en el que éste no contenía información salvo en la última cifra. En este caso cada cuarteto lleva una cifra en BCD, salvo el primero por la derecha que lleva el signo.

Por ejemplo:

1992 0000 0001 1001 1001 0010 1100

1 9 9 2 signo +

-1992 0000 0001 1001 1001 0010 1101

1 9 9 2 signo -

-BCD Aiken: Utiliza una codificación particular tratando de conseguir cierta simetría que le asocia un conjunto de características peculiares. La tabla de equivalencias entre el decimal y el código BCD Aiken es:

DECIMAL

BCD AIKEN

0

1

2

3

4

5

6

7

8

9

0000

0001

0010

0011

0100

1011

1100

1101

1110

1111

Cada cifra es el complemento a 9 de su cifra simétrica cambiando todos sus dígitos. Esta característica hace que sea un código muy apropiado para operaciones de resta y división.

El número 15 en este caso tiene la siguiente codificación:

0001 1011

1 5

-BCD exceso de tres: Otro código cuya característica principal es la simetría. Cada cifra decimal se codifica en binario con 4 bits y aparece excedido en 3 unidades. La tabla de equivalencias es:

DECIMAL

BCD EXCESO DE TRES

0

1

2

3

4

5

6

7

8

9

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

En este caso se cumple la misma característica del código BCD Aiken, en el que cada cifra es el complemento a 9 de su cifra simétrica cambiando todos sus dígitos. Es un método muy útil en operaciones de resta y división.

-Representación de números en Coma Flotante: La coma flotante aparece para la representación de números reales con un rango de representación mayor que el que nos ofrece la representación en coma fija, permitiendo el tratamiento de números muy grandes y muy pequeños.

Se basa en la representación en notación científica comúnmente utilizada en matemáticas, en la que una cantidad se representa de la forma:

No=mbc

Donde: No = Número representado

m = Mantisa (fracción con signo)

b = Base de exponenciación o raíz

c = Exponente o característica (número entero con signo)

Un número en esta notación tiene infinitas representaciones, de las que se toma como representación del mismo la denominada normalizada, que es aquella en la que la mantisa no tiene parte entera y la primera cifra o dígito a la derecha de la coma es distinta de 0, salvo en la representación del número 0.

Por ejemplo, representación de 123,4 con base 10.

123,4 = 123,4 x 100 = 12,34 x 101 = 1,234 x 102 = 0,1234 x 103

representación normalizada

Ejemplo, utilizando base 2:

123, = 123,4 x 20 = 61,7 x 21 = 30,85 x 22 = 15,425 x 23 = 7,7125 x 24 = 3,85625 x 25 = 1,928125 x 26 = 0,9640625 x 27

representación normalizada

Cada fabricante de ordenadores define para la arquitectura de sus máquinas un formato de coma flotante para lo que se denomina simple precisión, donde el número de bits corresponde a una palabra, y otro para la doble precisión, donde se utiliza una doble palabra. En general, se suelen seguir las siguientes reglas:

El exponente se representa en las notaciones MS o exceso a 2N-1, siendo un número entero con signo.

La mantisa es un número real normalizado (sin parte entera) con la coma implícita a la izquierda representada en MS, C-1 o C-2. El signo suele estar situado en el bit de más a la izquierda.

La base de exponenciación también denominada raíz es una potencia de 2 determinada por el fabricante (2, 8 o 16).

Existen muchos formatos de representación en coma flotante, variando la longitud de la palabra del computador, la base de exponenciación, el número de bits reservados para la mantisa y para el exponente, el sistema de representar la mantisa y el exponente, etc. La coma flotante para cada caso viene determinada por el fabricante, siendo las definiciones más comunes:

- Para simple precisión (en computadores de 32 bits de palabra):

SIGNO

EXPONENTE

MANTISA

31 30 23 22 0

1 bit 8 bits 23 bits

signo mantisa

- Para doble precisión (doble palabra de 64 bits):

SIGNO

EXPONENTE

MANTISA

63 62 52 51 0

1 bit 11 bits 52 bits

signo mantisa

El rango de representación en la coma flotante tiene la siguiente forma:

mNN MNN 0 mNP MNP

  • mNN mínimo número negativo que podemos representar y que se corresponde con: mNN = -máxima mantisa x base máximo exponente.

  • MNN máximo número negativo que se corresponde con: MNN = -mínima mantisa x base -máximo exponente.

  • mNP mínimo número positivo, que se corresponde con: mNP = mínima mantisa x base -máximo exponente.

  • MNP máximo número positivo que se corresponde con: MNP = máxima mantisa x base máximo exponente.

Es estas representaciones además de existir huecos (números no representables) entre dos cualesquiera, existen cuatro zonas en las que no se pueden representar los números existentes en ellas. Estas zonas son:

  • Desbordamiento positivo: Números mayores que MNP.

  • Subdesbordamiento positivo: Números entre 0 y mNP.

  • Subdesbordamiento negativo: Números entre MNN y 0.

  • Desbordamiento negativo: Números menores que mNN.

Por ejemplo, un computador de 32 bits utiliza el siguiente formato para registrar números en coma flotante con simple precisión:

  • Los bits del 23 al 30 para el exponenete, que se representa en exceso a 128

  • Los bits del 0 al 22 para la mantisa normalizada, que se representa en C-1 con el punto a las izquierda.

  • El bit 31 para el signo de la mantisa.

  • Base de exponenciación 2.

  • El 0 se representa con todos los bits a 0.

  • Formatos Estándar: Los formatos de coma flotante normalizados para computadores de 32 bits según el estándar IEEE P754 son:

  • Para simple precisión:

  • SIGNO

    EXPONENTE

    MANTISA

    31 30 23 22 0

    1 bit 8 bits 23bits

    signo mantisa exceso fracción en binario puro

    • Para doble precisión (doble palabra de 64 bits):

    • SIGNO

      EXPONENTE

      MANTISA

      63 62 52 51 0

      1 bit 11 bits 52 bits

      signo mantisa exceso fracción en binario puro

      SISTEMAS DE CODIFICACIÓN: Información, en su sentido más amplio, se puede considerar como un conjunto de datos con significado propio constituido por cadenas de caracteres (cifras, letras y caracteres especiales) que para ser tratados de forma automática por medio de un computador necesitan ser físicamente transformados a un código manejable por ellos.

      La información que necesita ser tratada por un ordenador se presenta en un determinado sistema de representación que utiliza un alfabeto(entrada) y por medio de un sistema de codificación la transformaremos en información codificada que utiliza su correspondiente alfabeto de salida y que será directamente reconocible y tratable por el equipo.

      Todo sistema de codificación lleva consigo un código que se define como la ley de correspondencia biunivoca entre los datos que se van a representar y su codificación.

      En los computadores se utilizan sistemas de codificación binarios numéricos de los que ya hemos visto algunos (BCD natural, por ejemplo), y alfanuméricos.

      - Código Alfanuméricos: Son códigos utilizados por los ordenadores para guardar y transmitir información, así como para enviar órdenes entre dispositivos. En ellos podemos definir las siguientes características:

      • Conjunto de caracteres:

      • Las 10 cifras del sistema decimal (0 al 9)

      • Las letras del alfabeto (mayúsculas y minúsculas)

      • Los signos de puntuación (, . : ; + * /).

      • Los caracteres de control (órdenes entre dispositivos)

      • Longitud de un código binario. Es el número de bits que utiliza para codificar un carácter.

      • Número máximo del conjunto de caracteres.

      En estos códigos, en general, se representa cada carácter por medio de 8 bits, con lo cual, todo tipo de información puede ser utilizada internamente formando cadenas de bytes sucesivos que representan cadenas de caracteres.

      Los primeros códigos utilizados fueron los de 6 bits que permitían la representación de 64 caracteres. Estos eran:

      • 26 mayúsculas

      • 10 numéricos

      • 28 especiales

      Más tarde se pasó a los 7 bits, entro los que podemos citar el código ASCII (American Estándar Code for Information Interchange). En la actualidad se utilizan exclusivamente códigos de 8 bits, entre los que podemos citar el código EBCDIC (Extended Binary Coded Decimal Interchange Code) y el ASCII extendido

      INFORMACIÓN

      (alfabeto de entrada)

      SISTEMA DE CODIFICACIÓN

      INFORMACIÓN CODIFICADA

      (alfabeto de salida)