Parcial 1 Flashcards
Representación de Complemento a 1
Si el número es negativo, a los bits del módulo se les aplica la operación NOT. Con esta representación se pueden expresar 2^(n-1)-1números positivos y 2^(n-1)-1 números negativos.
Representación de Complemento a 2
En esta representación, el bit más hacia la izquierda delnúmero se utiliza para representar su signo. Con 0 representando un número positivo y 1 representando un número negativo. Los otros bits representan la magnitud o módulo del número. Adicionalmente si el número es negativo, a los bits del módulo se les aplica la operación NOT y se les suma 1.
Con esta representación se pueden expresar 2^(n-1) -1 números positivos y 2^(n-1) números negativos. Debido a la eliminación de la duplicidad del 0.
Representación de exceso a K
En esta representación, a todos los números se les suma a su representación en binario un valor K, donde K suele valer 2^(n-1)-1.
Con esta representación se pueden expresar 2n-1 números positivos y 2^(n-1) -1 números negativos. Debido a la eliminación de la duplicidad del 0.
ASCII
ASCII (American Standard Code for Information Interchange). Se corresponde a una codificación donde cada carácter podía representarse con 7 bits. A cada carácter se le asociaba un código único.
Diseñado originalmente para representar los principales caracteres del alfabeto inglés. Posteriormente extendido para incluir caracteres de lenguajes de países de Europa occidental (francés, español, portugués). En el llamado Extended ASCII cada caracter ocupaba 8 bits (1 byte).
Representación de Decimal Empaquetado (Binary Packed Decimal – BPD)
En esta representación, cada dígito se codifica independientemente en 4 bits (también conocido como un nibble).
Con esta representación por cada byte se pueden representar 2 dígito (a excepción del leftmost byte que incluye el signo + 1 dígito)
EBCDIC
EBCDIC (Extended Binary Coded Decimal Interchange Code). Se corresponde a una codificación donde cada caracter se
representa en 8 bits. Diseñada en 1964 y utilizada en un principio con los computadores mainframe de la serie IBM System/360, posteriormente se siguió utilizando en otros dispositivos producidos por IBM.
Considerablemente diferente (y por tanto incompatible) con la codificación ASCII, principalmente debido al uso de un orden distinto al codificar los sets de caracteres (e.g: En EBCDIC las minúsculas van primero que las mayúsculas mientras que en ASCII sucede lo contrario).
Unicode
Unicode constituye un standard de codificación de texto diseñado con el interés de soportar la totalidad de los caracteres imprimibles de los sistemas de escritura del mundo. Permitiendo representar texto en alfabetos que estándares como ASCII no soportan (e.g: cirílico, kanji, hiragana, etc.)
Incluye las codificaciones UTF-8, UTF-16, UTF-32. Donde
destaca que las 2 primeras son de longitud variable.
UTF-8 resulta particularmente conveniente debido a su
retrocompatibilidad con el estandar ASCII.
Punto Flotante - NECESIDAD
Además de representar números enteros positivos y negativos. Es necesario tener la capacidad de representar números con
parte fraccionaria (tanto positivos como negativos).
Sin embargo, surge una dificultad para representar estos números dado que incluso entre 0 y 1, hay una cantidad infinita
de números a representar. Por lo cual digamos que no resulta práctico generar una “codificación” para cada posible número
real que quisieramos representar.
Punto Flotante - FUNDAMENTOS
La solución al problema anterior es utilizar una representación en la llamada notación científica.
* N = f x 10^e
* Donde N es el número que queremos representar. f es la parte fraccionaria o mantisa y e es un entero (positivo o negativo)
llamado exponente.
* En un computador, a este tipo de representación es lo que conocemos como Punto Flotante. Entendiéndose que en un
computador no podemos representar números en un sistema de base 10, en cambio debemos atenernos a un sistema de
base 2.
Representación en punto flotante
Un número en punto flotante requiere que definamos 3 cosas: d0.d1d2d3d4d5d6…dn x b^exp
* La mantisa (los distintos digitos d0, d1, d2, d3 … etc).
* La base (b)
* El exponente (exp)
* Donde la mantisa y el exponente pueden tener signo. Mientras que la base por lo general se define como un número
positivo (el signo del resultado total vendrá dado por el signo de la mantisa).
* Es necesario definir entonces cuantos dígitos tenemos disponibles para el exponente y para la mantisa, dado que la base se
entiende que es un número fijo para toda la representación.
Números normalizados
El concepto de un número normalizado es sumamente importante. Se dice que un número en punto flotante (o notación
científica) está normalizado sí NO va precedido por ceros.
Una definición más formal de los números normalizados es que son aquellos que el dígito a la izquierda del punto decimal
está entre 0 y la base (no inclusivo).
* En el caso de números binarios este número siempre es 1 dado que es el único n que cumple que 0 < n < base (2)
Numeros normalizados
* Los números en punto flotante serán almacenados en notación normalizada
Intervalo y Precisión
El intervalo está determinado por el número de dígito del exponente.
El presición está determinada por el número de dígitos de la matisa o fracción.
Estándares de punto flotante - Estándar IEEE 754
Es el estandar de uso más común a propósito de representación de números con parte fraccionaria.
* Ha sido desarrollado para facilitar la portabilidad de los programas de un procesador a otro.
* Prácticamente cualquier procesador y coprocesador aritmético hoy en día cuenta con la capacidad de manejar números en
punto flotante definidos según este estandar.
* Define 2 formatos:
* Formato de Precisión Simple (32 bits)
* Formato de Precisión Doble (64 bits)
* Trabaja siempre con números normalizados. Es decir, el bit a la izquierda del punto decimal en la mantisa SIEMPRE es igual
a 1. Por lo cual NUNCA es necesario representarlo. Todos los bits de la mantisa siempre se corresponden a representar los
dígitos a la derecha del punto decimal.
* Para el formato simple, el exponente se representa en exceso a 127. En el formato doble el exponente se representa en
exceso a 1023.
IBM hexadecimal floating point format
Formato de la IBM para representación de números en punto flotante. Diseñado en base un sistema de numeración
hexadecimal en vez del sistema binario utilizado por IEEE 754.
* Distribución de bits:
1 bit para el signo (0 es positivo, 1 es negativo).
7 bits para el exponente. Usando representación a exceso 64
24, 56 o 112 bits para la mantisa (dependiendo del formato).
Concepto del programa almacenado
En un principio, la operación de un computador requería de la reorganización física de los componentes del mismo. Los sistemas cableados no son flexibles de modificar, por lo cual modificar el HARDware resulta una manera difícil para
modificar el comportamiento del ordenador.
El programa almacenado implica un cambio de paradigma, el HARDware se diseña de uso general, y a través de un
conjunto de señales de control se utilizan funcionalidades específicas. Se tiene algo más blando y fácil de cambiar: el
SOFTware.