CUP (Computacion) - Tema 4 v2 - Luis F. Veizaga

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 26

Sistemas de

representación de
la información
ING. LUIS FERNANDO VEIZAGA VALVERDE
Representación de la información

✓ La computadora solo entiende de 1 y 0, entonces cualquier valor


numérico introducido es convertido a binario.
✓ El proceso de conversión viene desde la ejecución del programa,
la introducción de los datos, la compilación a código de
máquina y el manejo de los datos.
✓ Existe 2 formas de representar números:
✓ Representación de números enteros
✓ Representación de números reales
Representación
de números
enteros
✓ Dentro de la representación
de números enteros se
contempla todo el conjunto
de números positivos, el cero
y números negativos.
✓ Dentro del conjunto formado
por estos números éxiste un
sub - conjunto en particular,
los números naturales
comprendidos por el 0 y
todo los números positivos.
Representación de números
naturales
✓ Los números naturales no llevan signo, pues al estar compuesto por el 0
más todos los números positivos le quita a la computadora la tarea de
representar estos.
✓ La declaración de que un número corresponde a el conjunto de los
naturales depende del lenguaje de programación y la computadora,
se hace uso del conjunto de palabras reservadas del lenguaje de
programación, por ejemplo:
✓ Cardinal (Delphi – Pascal)
✓ Integer (Java)
✓ Byte (Java)

No todos los lenguajes de programación tienen una palabra reservada explicita para los números naturales,
muchos prefieren directamente manejarlos como números enteros.
Representación
de números
naturales
✓ El valor numérico como tal es
representado en binario, y
cumple con las mismas
reglas de conversión de
decimal a binario sin ningún
agregado.
Representación de números
enteros (Módulo y signo)
✓ Es una "forma" en la que la computadora representa los números
enteros con signo y sin signo.
✓ Consiste en ocupar el bit más significativo de la izquierda para
representar el signo del número teniendo en cuenta que:
✓ Si es 0 es positivo
✓ Si es 1 es negativo
✓ El resto de bits se ocupa para representar el número como tal.

En 8 Bits osee un rango simétrico


+12710 = 011111112,
010 = 000000002
-010 = 100000002,
-12710 = 111111112.
✓ Como se ve en el rango con
el ejemplo de 8 bits
tradicional solo podemos
representar desde –127 hasta
+127 dado que el último bit
el de la posición 7, que
representaba 128 ahora se
ocupa para representar el
signo del número.
Representación de
números enteros
(Complemento a 1 – C1)

✓ En términos sencillos es el valor


obtenido al invertir los 1 por 0 y los
ceros por 1 de un número binario y
representa el negativo de este
número, como lo vemos aquí.

✓ El rango que se puede representar


en complemento a 1 va desde
Representación de números
enteros (Complemento a 2 – C2)
✓ Es otra forma de representación de los números negativos y
ocupada por muchas de las computadoras modernas.
✓ Tiene un rango desde [−2N−1, 2N−1−1]
✓ Como se ve en el rango con el ejemplo de 8 bits tradicional solo
podemos representar desde –128 hasta +127

✓ Para obtener el complemento a2 de un número binario se


requiere llevar este a complemento a1 y luego sumarle 1 en binario,
el resultado de la operación es el negativo del número expresado
en complemento a2, como se ve a continuación.
Rangos

Módulo y Signo
Complemento a 1 (C1) Complemento a 2 (C2)
Representación de números
enteros (exceso 2n-1)

✓ En exceso se dispone n bits para representar el número n, positivo o


negativo y es representado como NEX = N + 2n-1 .
✓ El rango que posee es el mismo que el de complemento a 2.
Para despejar el Número Entero
N = NEX - 2n-1
Ejercicios propuestos
✓ Realizar las siguientes representaciones en modulo y signo,
complemento a 1, complemento a 2 y exceso
✓ -50
✓ -128
✓ 255
✓ 1000
✓ -1000
✓ -127
✓ -30
✓ -130
Representación de Números Reales

✓ Existen 1 representación con 2 formas de precisión:


✓ Coma flotante con precisión simple (IEEE 754)
✓ Coma flotante con precisión doble
✓ Para simple precisión representamos en 32 bits
✓ Mientras para doble precisión representamos en 64 bits
Representación de números reales
(Simple precisión)

 En simple precisión ocupamos un bit


para representar el signo, 8 bits para
representar el módulo del número o
"exponente" y 23 bits para representar
la parte fraccionaría o "mantisa",
dando un total de 32 bits (4 bytes).
En doble precision seguímos con los mismos pasos
que en simple precisión (binario, exponente,
normalización), solo que ahora para la
Representación representación podemos mas bits, 1 bit para el
signo, 11 bits para el exponente y 52 bits para la
de mantisa, dando un total de 64 bits para
números reales representar en doble precisión.
(Doble
precisión)
Codificación alfanumérica
✓ En la codificación alfanumérica se busca representar letras o símbolos
especiales mediante la asignación de códigos en particular.
 Alfabéticos {A, B, C, …, X, Y, Z , a, b, c, x,}
 Numéricos: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
 Especiales: {+, -, *, /, @, #, ñ, Ñ, á, é, …}
 Gráficos: {♣, ♦, ♥, ♠, ...}

✓ Existe 2 formas de codificación alfanumérica:


✓ Codificación mediante ASCII
✓ Codificación mediante Unicode
Codificación alfanumérica (ASCII)
✓ Hace referencia a American Standard Code for Information Interchange
(Código Estándar Americano para Intercambio de Información).
✓ ASCII es un estándar para la representación de caracteres en dispositivos
electrónicos. Para entender lo que significa es necesario conocer cómo
funciona un ordenador: en él los procesos de cálculo se basan siempre en
el sistema binario, lo que significa que ceros y unos determinan las
operaciones. Por ello, ASCII se erige sobre este sistema. El estándar ASCII
original define diversos caracteres en siete bits, es decir, siete posiciones
que muestran 0 o 1.
✓ El octavo bit, que pertenece a un byte completo, se utiliza normalmente
para los análisis. Las versiones ampliadas basadas en el American
Standard Code for Information Interchange emplean dicho bit para
incrementar los caracteres existentes a 256 (28)
Codificación alfanumérica (ASCII)
✓ Caracteres de control (0–31 & 127): los caracteres de control no son
caracteres imprimibles. Estos transmiten comandos al PC o a la
impresora y se basan en técnicas de teletipo. Con ellos también se
pueden colocar saltos de línea o tabuladores, aunque muchos apenas
se utilizan en la actualidad.
✓ Caracteres especiales (32–47 / 58–64 / 91–96 / 123–126): estos
comprenden todos los imprimibles que no son ni letras ni números,
como, por ejemplo, los signos de puntuación o los símbolos
matemáticos. También se incluye el espacio en blanco, que es
considerado como carácter imprimible pero no visible y, por lo tanto,
no pertenece a los caracteres de control como se podría suponer.
✓ Números (30–39): los números engloban las diez cifras árabes del cero
al nueve.
✓ Letras (65–90 (A-Z) / 97–122 (a-z)): las letras se dividen en dos bloques,
el primero para las mayúsculas y el segundo para las minúsculas.
Ejemplo:
 La palabra Hola en la codificación alfanumérica ASCII
Codificación alfanumérica
(Unicode)
✓ Unicode es el “estándar universal de codificación de caracteres”,
su nombre deriva del término inglés “Universal Character
Encoding”. Es un estándar para codificar caracteres en
representación binaria. Esto permite almacenar y procesar textos
en sistemas digitales.
✓ El estándar Unicode sirve principalmente como base universal
para procesar, almacenar e intercambiar textos en cualquier
idioma. La mayoría de los componentes de software modernos,
como bibliotecas, protocolos, bases de datos, etc., que operan
con texto, se basan en Unicode.
✓ N=16 bits, 65.536 Caracteres
Codificación
alfanumérica (Unicode)
✓ En Unicode existen distintas formas de codificar el mismo carácter.
Por ejemplo, la letra á se puede representar mediante dos bytes en
una codificación y con cuatro bytes, en otra. Los formatos de
codificación que se pueden usar con Unicode se denominan UTF-8,
UTF-16 y UTF-32.
✓ UTF-8 utiliza 1 byte para representar caracteres en el set ASCII, dos
bytes para caracteres en otros bloques alfabéticos y tres bytes para
el resto del BMP. Para los caracteres complementarios se utilizan 4
bytes.
✓ UTF-16 utiliza 2 bytes para cualquier carácter en el BMP y 4 bytes
para los caracteres complementarios.
✓ UTF-32 emplea 4 bytes para todos los caracteres.

También podría gustarte