Representacion Interna De Enteros2

27
JESÚS MIGUEL PÉREZ FERNÁNDEZ EDUARDO MORET MORALES Representación Interna de la Información

Transcript of Representacion Interna De Enteros2

Page 1: Representacion Interna De Enteros2

JESÚS MIGUEL PÉREZ FERNÁNDEZEDUARDO MORET MORALES

Representación Interna

de la Información

Page 2: Representacion Interna De Enteros2

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

Page 3: Representacion Interna De Enteros2

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

Page 4: Representacion Interna De Enteros2

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

Page 5: Representacion Interna De Enteros2

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

Page 6: Representacion Interna De Enteros2

Tabla código ASCII

1.3

Page 7: Representacion Interna De Enteros2

COMPLEMENTO A UNO

Grupo 5 SIMR

Page 8: Representacion Interna De Enteros2

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

Page 9: Representacion Interna De Enteros2

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

Page 10: Representacion Interna De Enteros2

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

Page 11: Representacion Interna De Enteros2

COMPLEMENTO A DOS

Grupo 5 SIMR

Page 12: Representacion Interna De Enteros2

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

Page 13: Representacion Interna De Enteros2

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

Page 14: Representacion Interna De Enteros2

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

Page 15: Representacion Interna De Enteros2

MS(MODULO Y SIGNO)

Grupo 5 SIMR

Page 16: Representacion Interna De Enteros2

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

Page 17: Representacion Interna De Enteros2

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

Page 18: Representacion Interna De Enteros2

EXCESO Z

Grupo 5 SIMR

Page 19: Representacion Interna De Enteros2

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

Page 20: Representacion Interna De Enteros2

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

Page 21: Representacion Interna De Enteros2

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

Page 22: Representacion Interna De Enteros2

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

Page 23: Representacion Interna De Enteros2

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

Page 24: Representacion Interna De Enteros2

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

Page 25: Representacion Interna De Enteros2

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

Page 26: Representacion Interna De Enteros2

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

Page 27: Representacion Interna De Enteros2

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