View
2.493
Download
2
Category
Preview:
Citation preview
JESÚS MIGUEL PÉREZ FERNÁNDEZEDUARDO MORET MORALES
Representación Interna
de la Información
Introducción
• El hombre en su vida diaria, se comunica, almacena información y la administra; desde el punto de vista numérico con el sistema decimal y con el punto de vista alfabético con el idioma
• Dado que el ordenador lo hace desde el sistema binario estamos obligados a transformar todos los datos a una representación binaria para que pueda procesarlos.
1.1
Tipos de datos en lenguajes de alto nivelEntero
Representa un subconjunto finito de números enteros
Carácter
Puede englobar, letras, números o signos
Lógico (booleanos)
Representación de valores de lógica binaria (true y false)
Puntero
Su valor hace referencia a una dirección de memoria
Cadenas(string)
Sucesión de caracteres con longitud finita
1.2
Representación de booleanos
Es un tipo de datos que representa valores de lógica binaria
Solo representa verdadero (true) o falso (false)
Operadores lógicos
AND Las dos condiciones son verdaderas al mismo tiempo.
OR Al menos una de las dos condiciones es verdadera.
NOT La condición del primero es verdadera, pero no la del segundo
XOR Una de las condiciones es verdadera, pero no ambas a la vez.1.3
Representación de caracteres
La codificación de caracteres es el método que permite convertir un carácter de un lenguaje natural en un símbolo de otro sistema de representación, como un número o una secuencia de pulsos eléctricos.
Alfanuméricos
* ASCII (American Standard Code for Information Exchange)
* UNICODE
* EBCDIC (Extended Binary Coded Decimal Interchange Code)
1.3
Tabla código ASCII
1.3
COMPLEMENTO A UNO
Grupo 5 SIMR
COMPLEMENTO A 1
El complemento a uno nos permite la interpretación binaria de números negativos.
Se obtiene cambiando cada uno de los digitos del numero binario por su complementario (cambiando los ceros por unos y viceversa).
Si el bit mas significativo es 0 se tratara de un numero positivo, si por el contrario es un 1 el numero representado será negativo.
Grupo 5 SIMR
COMPLEMENTO A 1
Ejemplo de conversión decimal a C1:
• Tomamos el numero entero -12.
• Tomamos el valor con signo positivo del numero entero y lo convertimos a binario añadiendo un cero a la izquierda: +1210 = 011002
• Realizamos el complemento a uno: C-1(01100) = 10011, 10011c1 = -12
Grupo 5 SIMR
COMPLEMENTO A 1Ejemplo de conversión C1 a decimal:
• Tomamos el valor 10011c1
• Si se tratara de un numero positivo haríamos una conversión de binario a decimal normal pero sabemos que es un numero negativo por que MSB = 1.
• Hacemos el complemento a uno de 10011c1 para pasarlo a positivo,
C1(10011) = 01100.
• Convertimos el numero a decimal 01100 = 1210 y le añadimos el signo que le hemos quitado en la anterior operación con lo que nos queda 10011c1 = -12.
Grupo 5 SIMR
COMPLEMENTO A DOS
Grupo 5 SIMR
COMPLEMENTO A DOS
En el complemento a dos, los números negativos se representan mediante el patrón de bits que es un bit mayor (sin signo) que el complemento a uno del valor positivo.
Para negar un número (negativo o positivo) invertimos todos los bits y añadimos un 1 al resultado.
Grupo 5 SIMR
COMPLEMENTO A DOS
Ejemplo conversión decimal a C2:
• Si el numero es positivo lo dejamos tal cual añadiendole un cero a la izquiera.
• Tomamos el numero -2510
• Le quitamos el signo y lo pasamos a binario: 2510 = 011001.
• Realizamos el C-1(011001) = 100110 y le sumamos 1: 100110 + 1 = 100111c2
Grupo 5 SIMR
COMPLEMENTO A DOS
Ejemplo conversión decimal a C2 mas sencilla para los humanos:
• Tomamos el numero -2510
• Le quitamos el signo y lo pasamos a binario: 2510 = 011001.
• De izquierda a derecha hacemos C-1 a partir del primer 1 que nos encontramos: 011001 = 100111c2
Grupo 5 SIMR
MS(MODULO Y SIGNO)
Grupo 5 SIMR
MS(MODULO Y SIGNO)
En este sistema el bit que esta mas a la izquierda representa el signo, el resto de bits representan el numero por lo que siempre necesitaremos un bit mas para representar un numero.
Con este sistema hay una forma positiva y otra negativa de representar el valor 0.
Grupo 5 SIMR
MS(MODULO Y SIGNO)
Ejemplo MS con el numero 34:
• Pasamos a binario: 1000102
• Si queremos representar un positivo añadiremos un 0 a la izquierda, si queremos un negativo añadiremos un 1.
• Positivo MS: 0100010MS
• Negativo MS: 1100010MS
Grupo 5 SIMR
EXCESO Z
Grupo 5 SIMR
EXCESO Z
Este sistema no utiliza ningún bit para indicar el signo.
El valor se corresponde con el numero representado mas el exceso, para n bits viene dado por 2n-1.
Grupo 5 SIMR
EXCESO Z
Ejempo para el numrto 22 y -22 siendo n=8:
• El exceso es de 28-1 = 27 = 128.
• Para 22, 22+128=150 -> 10010110ez = 22
• Para -22, -22+128=106 -> 01101010ez = -22
Grupo 5 SIMR
8 Bits
Valor Ca1 Ca2 MS Exceso
55 00110111 00110111 00110111 10110111
-55 11001000 11001001 10110111 01001001
-25 11100110 11100111 10011001 01101000
28 00011100 00011100 00011100 10011100
-26 11100101 11100110 10011010 01100110
28 00011100 00011100 00011100 01100100
-102 10011001 10011010 11100110 00011010
28 00011100 00011100 00011100 10011100
102 01100110 01100110 01100110 11100110
-68 10111011 10111100 11000100 00011100
Cuadro de equivalencias (Parte 1)
3
8 Bits
Valor Ca1 Ca2 MS Exceso
-128 01111111 10000000 10000000 00000000
0 00000000 00000000 00000000 10000000
127 01111111 01111111 01111111 11111111
0 00000000 00000000 00000000 10000000
-127 10000000 10000001 11111111 00000001
-128 01111111 10000000 10000000 00000000
-1 11111110 11111111 10000001 01111111
0 00000000 00000000 00000000 10000000
-127 10000000 10000001 11111111 00000001
-0 11111111
0 00000000 00000000 00000000 10000000
127 01111111 01111111 01111111 11111111
Cuadro de equivalencias (Parte 2)
3
representacion de reales
Para representar un numero real en binario en precisión simple se usan 32 bits, 1 bit para el signo 23 bits para la mantisa y 8 bits para el exponente.
El exponente se representa en exceso a 2n-1-1(127), y la mantisa se se normaliza colocando la coma decimal a la derecha del bit más significativo.
GRUPO 5 SIMR
Valores limite
Mayor valor representable: 0 11111111 11111111111111111111111
Menor valor represetable: 1 11111111 11111111111111111111111
Valor mas proximo a 0 positivo: 0 00000000 00000000000000000000001
Valor mas proximo a 0 negativo: 1 00000000 00000000000000000000001
GRUPO 5 SIMR
binario a decimalEjemplo numero binario en coma flotante: 0 10000111 11010101010110101100101
Sabemos que el numero es positivo por el primer bit. Exponente = 10000111 = 135 - 127 = 8.
Mantisa = 11010101010110101100101. Le añadimos bit implícito: 1’ 11010101010110101100101 y corremos 8 veces la coma 111010101’010110101100101.
Pasamos a decimal:Parte fraccionaria: 0,11621. 0 10000111 11010101010110101100101 = 469,11621
GRUPO 5 SIMR
Conversiones: Coma Flotante
Valor 125’815 en notación coma flotante IEEE-754 (32 bits)
125’815 1111101’1101000010100011111Paso a binario
Traslado de la coma al
bit más significativo
1111101’ 110101101011010 1’1111011101000010100011111 x 2^6
Conversión del
exponente a binario
(2^n-1-1): 6 + (2^8-1 - 1)= 6 + (2^7 - 1) = 6 + (128 - 1)10 = 133 = 10000101
0 10000101 11110111010000101000111Resultado 5.1
Conversiones: Coma Flotante
1 10001110 01110001110000000000000 a valor decimal
Signo: 1
-47.328Resultado
Exponente: 10001110 (142-127 = 15)Mantisa: 1’01110001110000000000000 (añadido bit implícito)
Desplazamiento de la coma y pasarlo de binario a decimal: 1011100011100000’00000000
5.2
Recommended