Sunteți pe pagina 1din 45

T1 REPRESENTACIN DE LA INFORMACIN

Fundamentos de Informtica Departamento de Ingeniera de Sistemas y Automtica. Escuela de Ingenieras Industriales. Universidad de Valladolid

ndice
1. 1 2. 3. 4. Sistemas de numeracin binario binario, octal y hexadecimal hexadecimal. Representacin de nmeros enteros. Representacin de nmeros reales. Representacin de caracteres.

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

Introduccin
La informacin es un conjunto de datos, datos cuyo significado depende del contexto. Su propsito puede ser el de reducir la incertidumbre o incrementar el conocimiento acerca de algo La representacin de la informacin estudia las distintas formas en que se puede comunicar y acceder a la informacin

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

Introduccin
Para la ejecucin de un programa, al ordenador debemos suministrarle dos tipos de informacin:
las instrucciones que forman el programa los datos con los que debe operar ese programa.

Desde el punto de vista de la representacin de la informacin, debe considerarse:


Cmo suministramos la informacin? Cmo almacena el ordenador la informacin?

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

Introduccin
Cmo suministramos la informacin?
Utilizando un conjunto de smbolos, los caracteres:
Alfabticos (AZ,az) Numricos (09) Especiales (,:=) De control (fin de linea,tabulador) G fi Grficos, t l como iconos tales i

La comunicacin con el ordenador se realiza usando los caracteres que admiten sus dispositivos de E / S.

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

Introduccin
Cmo almacena informacin? el ordenador la

El ordenador tambin utiliza un conjunto de caracteres. La forma ms fiable y simple de almacenar la informacin es usar nicamente dos valores como caracteres (0 y 1). Estos caracteres se conocen como BIT (Binary digit). Un bit es la unidad de informacin mnima.
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

Introduccin
La codificacin de la informacin
La Codificacin es una transformacin que representa los elementos de un conjunto mediante los de otro, de forma tal que a cada elemento del primer conjunto le corresponda un elemento distinto del segundo.
Ejemplo:
cdigo de provincia en las matrculas de los coches; NIA DNI

La existencia de dos conjuntos diferentes de caracteres, uno externo para el usuario y otro interno para el ordenador, ordenador hace necesario codificar los caracteres de un conjunto con los del otro. Son los llamados cdigos de E/S (por ejemplo el cdigo ACSII). Por otro lado, a nivel interno y para mejorar la eficiencia, la existencia de datos numricos de muy diferentes caractersticas (binarios, enteros, coma flotante), motiva la utilizacin de otras codificaciones, que constituyen los diferentes sistemas de numeracin.
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

Sistemas de numeracin
Un sistema de numeracin es un conjunto de smbolos utilizado para representar cantidades, junto al conjunto de reglas que permiten construir nmeros vlidos. Aunque q el ms conocido y usado es el sistema de numeracin decimal, en los dispositivos informticos son ms utilizados el sistema octal, el hexadecimal y, sobre todo, el binario.

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

Sistemas de numeracin
Sistemas de numeracin posicional
El nmero de smbolos (cifras) permitidos en un sistema de numeracin posicional se conoce como base del sistema de numeracin. Por ejemplo en el sistema decimal la base es b=10. El conjunto de 10 smbolos es: {0,1,2,3,4,5,6,7,8,9} Un nmero se expresar mediante un conjunto de cifras, contribuyendo cada una de ellas con un valor dependiente de:
El valor que representa esa cifra La posicin que ocupe dentro del nmero

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

Sistemas de numeracin
Para construir un nmero N, con un nmero n de cifras enteras y un nmero k de cifras representando la parte fraccionaria, puede usarse con carcter general la siguiente frmula:

P Por ejemplo, j l el l nmero N N=789.3 789 3 en b base 10 ( (se representar 789.3|10) tiene como valor: 7x102 + 8x101 + 9x100 + 3x10-1 El polinomio que permite calcular el valor del nmero se denomina polinomio equivalente.
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

10

Sistemas de numeracin Sistemas ms usuales


Binario: Base 2 (2=21). ) Conjunto {0,1} Base 8 (8=23). Conjunto {0,1,2,3,4,5,6,7}

Octal:

Hexadecimal: Base 16 (16=24). Conjunto {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}


Fundamentos de Informtica Tema 1 - Representacin de la Informacin

11

Sistemas de numeracin Conversin entre sistemas numricos


La conversin desde un sistema posicional cualquiera a sistema decimal (base 10) se realiza calculando el valor del polinomio equivalente.

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

12

Sistemas de numeracin Conversin entre sistemas numricos


Conversin desde base 10 a un sistema posicional cualquiera (base b).
Se transforma por separado la parte entera y la parte fraccionaria del nmero: Parte entera: divisiones sucesivas entre b. Parte Parte fraccionaria: fraccionaria productos prod ctos sucesivos s cesi os por b. b

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

13

Sistemas de numeracin Conversin entre sistemas numricos: parte entera


( 1 es menor que b) (r1
Si repetimos el proceso sucesivas entre b tenemos: mediante divisiones

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

14

Sistemas numricos. Conversin entre sistemas numricos: parte entera


Seguiremos haciendo divisiones sucesivas hasta alcanzar un cociente Cn que sea menor que la base b

El valor de N est dado por un polinomio de potencias de b (desde bn hasta b0) con coeficientes menores que b (los ri y Cn). Es el polinomio equivalente!
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

15

Sistemas de numeracin Conversin entre sistemas numricos: parte entera


Por tanto, la representacin en base b es: Ejemplo:

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

16

Sistemas de numeracin Conversin entre sistemas numricos: parte fraccionaria


La parte L t fraccionaria f i i d de un nmero es aquella ll que representa t una cantidad inferior a la de la unidad. La parte fraccionaria de un nmero en base 10 es: Su representacin en base b ser: El objetivo es obtener los valores ai, cifras del nmero N en base b.

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

17

Sistemas de numeracin Conversin entre sistemas numricos: parte fraccionaria


Dado que las cifras ai son siempre menores que b, y en particular 0<a-1<b, el resultado de b x N es entonces a-1 ms una cantidad que no alcanza el valor b.

As, tras el primer producto se conoce el valor de a-1 Mediante productos sucesivos, se realiza luego el producto b x ((b x N) a-1)) y se obtiene a-2, etc. A diferencia del caso anterior de conversin de la parte entera, se tiene que definir un criterio de parada (por ejemplo, nmero mximo de cifras fraccionarias). En general, se comete un error de truncamiento, es decir, el valor representado no es el mismo que el original.
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

18

Sistemas de numeracin Conversin entre sistemas numricos: parte fraccionaria


Ejemplo: convertir a binario (base 2) el nmero N=0,78

Si se detiene ah el proceso se obtiene que N|2=0.1100 El valor obtenido es 2-1 + 2-2 = 0.5 + 0.25 = 0.75. Se ha cometido un error de truncamiento de 0.03
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

19

Sistemas numricos. Conversin entre sistemas numricos.


Conversiones entre binario, octal y hexadecimal.
Un nmero N en base 8 (octal) viene dado por: El polinomio equivalente es:

Observad que: Los pi son tales que 0 pi7. Es decir, cualquiera de ellos se representa en binario con tres bits: cibiai = cix22 + bix21 + aix20 8 = 23. Cualquier potencia 8j = 23j El polinomio equivalente en potencias de 8 pasa a ser un polinomio equivalente en potencias de 2 (valor en binario del nmero N)
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

20

10

Sistemas numricos. Conversin entre sistemas numricos.


Conversiones entre binario, octal y hexadecimal.
El polinomio equivalente en potencias de 8 pasa a ser un polinomio equivalente en potencias de 2 (valor en binario del nmero N)

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

21

Sistemas numricos. Conversin entre sistemas numricos.


Conversiones entre binario, octal y hexadecimal.
Ejemplo: Convertir a octal y hexadecimal el nmero

00 0101110100,010101
En base 8 (octal)

000101110100,010101 00
En base 16 (hexadecimal)

4
22

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

11

Sistemas numricos. Conversin entre sistemas numricos.


Conversiones entre binario, octal y hexadecimal.
Ejemplo: Convertir a binario el nmero en octal 375.21

3
En base 2 (binario)

5 , 2

011 111 101 . 010 001

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

23

Sistemas numricos. Otros sistemas numricos. Cdigos BCD


BCD (Decimal codificado en binario) Es una codificacin que permite representar cifras decimales (base 10) mediante un sistema binario. Para ello, cada una de las diez cifras de base 10 son codificadas en binario con 4 bits. Existen muchas posibilidades de codificacin (con 4 bits existen 16 combinaciones).
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

24

12

Sistemas numricos. Otros sistemas numricos. Cdigos BCD


BCD (Decimal codificado en binario). binario)

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

25

Sistemas numricos. Otros sistemas numricos. Cdigos BCD


BCD (Decimal codificado en binario) Ejemplo: El nmero decimal 148 en BCD natural sera: 1 0001 4 0100 8 1000 148 000101001000

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

26

13

Sistemas numricos. Suma y resta en binario.


La suma binaria se realiza bit a bit. El resultado en base 10 es conocido 0 + 1 = 1|10 = 1|2 1 + 1 = 2|10 = 10|2
La suma de dos bits da como resultado dos bits: suma y acarreo 0 + 0 = 0|2 = 00|2 0 + 1 = 1|2 = 01|2 1 + 0 = 1|2 = 01|2 1 + 1 = 10|2 = 10|2

Ejemplo: 6 +3

9
Fundamentos de Informtica

0 0 00 1 01 1

1 0 01 1 10 0

1 1 10 0 00 0
27

0 1 01

Tema 1 - Representacin de la Informacin

Sistemas numricos. Suma y resta en binario.


La resta binaria se realiza tambin bit a bit. El resultado en base 10 es conocido 0 - 1 = - 1|10 1 - 1 = 0|10 1 0 = 1|10 Evitando por el momento el problema de representar nmeros negativos, se define la resta de un modo similar a la suma. Tenemos como resultado dos bits: diferencia y acarreo Ejemplo: 0 - 0 = 00|2 6 0 1 1 0 0 - 1 = 11|2 - 3 0 0 1 1 1 - 0 = 01|2 00 00 11 01 1 - 1 = 00|2

3
Fundamentos de Informtica

0 00 0

1 00 0

1 11 1

1
28

Tema 1 - Representacin de la Informacin

14

2. Representacin de nmeros enteros.


Sobre un papel es obvia la representacin del signo de un nmero. Sin embargo, en un sistema informtico, debemos abordar cmo representar el signo. Adems, como se ver, la representacin del 0 puede causar ambigedades. Se estudiarn tres mtodos para representar nmeros con signo en binario:
Signo y magnitud Complementos Representacin en exceso
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

29

Nmeros enteros. Signo-Magnitud (1)


Suponiendo que se dispone dispone de n bits se asigna: El bit ms significativo (bit de signo) para representar el signo:
0 para signo + 1 para pa a s signo g o

Los (n-1) bits restantes (significando) para representar la magnitud en binario

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

30

15

Nmeros enteros. Signo-Magnitud (2)


Ejemplo con 8 bits:
Representacin del nmero -9710 (decimal)
El signo del nmero -9710 es negativo, luego el bit de signo es 1; El valor absoluto de -9710 es |-9710| = 9710. En binario es: 11000012 El nmero -9710 en binario con formato de Signo g y Magnitud g es: 111000012.

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

31

Nmeros enteros. Signo-Magnitud (3)


Rango de representacin
Desde (2(n-1)-1) hasta +(2(n-1)-1). El rango es simtrico
Para n=8, el rango es [-127,127]

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

32

16

Nmeros enteros. Signo-Magnitud (4)


Problemas
Existencia de dos ceros
0 000.0 (+0) 1 000.0 (- 0)

No se puede operar aritmticamente

Para solucionar esos problemas:


Representacin en complementos
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

33

Nmeros enteros. Complementos (1)


Definicin de complemento de un nmero N entero positivo:
Complemento a la base b menos uno:

N bn 1 N
Complemento a la base b:

N bn - N
Puesto que en binario la base es 2, se conocen como complemento a 1 y complemento a 2 respectivamente.
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

34

17

Nmeros enteros. Complementos (2)


Obtencin del complemento:
Complemento a uno Se cambian ceros por unos y unos por ceros Complemento a dos Se cambian de izquierda a derecha ceros por unos y unos por ceros hasta el ltimo 1. 1 ste, ste y todos los bits a su derecha, se mantienen. O bien, se calcula el complemento a uno y se suma 1 al bit ms a la derecha

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

35

Nmeros enteros. Complementos (3)


Ejemplo:
Nmero A = 13|10 = 001101|2 usando n = 6bits
Complemento a 1 de A es (por definicin) 26 - 1 13 = 50|10 El valor binario de 50 es 110010.
001101 110010 Complemento a 2 de A es (por definicin) 26 - 13 = 51|10 El valor binario de 50 es 110011 001101 110011

O bien

001101 Complemento a 1 110010


Fundamentos de Informtica

Sumndole 1 110011
36

Tema 1 - Representacin de la Informacin

18

Nmeros enteros. Complementos (4)


En la representacin mediante complemento de un nmero signado de n-bits asignamos: un bit para representar el signo, al igual que en la representacin Signo - Magnitud los (n-1)-bits restantes para representar el significando que es:
la magnitud del nmero en valor absoluto para el caso de nmeros positivos el complemento del valor absoluto del nmero, en caso de ser negativo.
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

37

Nmeros enteros. Complementos (5)


Nmeros enteros positivos p
Bit de signo 0 seguido del valor binario con n-1 bits.

Nmeros enteros negativos Bit de signo 1 seguido del: complemento a uno con n-1 bits. O bien, complemento a dos con n-1 bits.
Ejemplo: usando n = 8bits A = 13|10 = 0 0001101 -13|10 = 1 1110010 (comp. a uno) -13|10 = 1 1110011 (comp. a dos)

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

38

19

Nmeros enteros. Complementos (6)


Se p puede ver como el bit de signo g forma p parte del nmero:
1. Si el nmero es positivo, el bit de signo 0 no es ms que
uno de los ceros que se pueden poner por delante del mismo dependiendo del tamao en bits con que se quiera representar.
Ejemplo: A = 13|10 Con n = 7 bits 0001101 Con n = 10 bits 0000001101

Se observa que el menor nmero de bits para representar 13|10 con signo es de 5 bits: 0 1101
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

39

Nmeros enteros. Complementos (7)


2. Del mismo modo, si el nmero es negativo, el bit de signo 1 no es ms que uno de los unos que se pueden poner por delante del mismo.
Ejemplo: Partiendo de A = 13|10 el valor de -13 es Con n = 7 bits +13 = 0001101 En comp a uno -13 = 1110010 En comp a dos -13 = 1110011 Con n = 10 bits +13 = 0000001101 En comp a uno -13 = 1111110010 En comp a dos -13 = 1111110011
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

40

20

Nmeros enteros. Complementos (8)


g de representacin p empleando p complementos p Rango
Formato que emplea 1 bit de signo y (n-1) bits enteros (total n bits).
Complemento a uno. Desde (2n-1-1) hasta +(2n-1-1). Hay y dos representaciones p para el cero. p Complemento a dos. Desde (2n-1) hasta +(2n-1-1).

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

41

Nmeros enteros. Complementos (9) Ejemplo:


enteros). Si n = 4 bits (1 bit de signo, signo 3 bits

Nmeros positivos (tanto en comp. a uno como a dos)


0 111 0 110 0 101 0 100 0 011 0 010 0 001 0 000
Fundamentos de Informtica

+ 7 = +(2n-1-1) +6 +5 +4 +3 +2 +1 0
Tema 1 - Representacin de la Informacin

42

21

Nmeros enteros. Complementos (10)


Nmeros negativos g en complemento p a uno
1 000 1 001 1 010 1 011 1 100 1 101 1 110 1 111 111 = -7 = -(2n-1-1) 110 = -6 101 = -5 100 = -4 001 = -3 010 = -2 001 = -1 000 = -0

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

43

Nmeros enteros. Complementos (11)


Nmeros negativos g en complemento p a dos
1 111 1 110 1 101 1 100 1 011 1 010 1 001 1 000 - 001 = -1 - 010 = -2 - 011 = -3 - 100 = -4 - 101 = -5 - 110 = -6 111 = -7 7 - 111 ??

El valor de 1 000 se puede obtener de la definicin. En valor absoluto y tomando n = 4bits,

N 1000 |2 8 2 n - N 2 4 N Es decir N = 8, o bien, 1 000 = -8


Fundamentos de Informtica Tema 1 - Representacin de la Informacin

44

22

Nmeros enteros. Complementos (12)


Otra forma de saber cul es el valor de 1 000 es usar algo ya visto.
El nmero con signo 1 000 no es ms que tomar los 4 ltimos bits del nmero 11111111.11111000. Haciendo su transformacin:

11111111.11111000 00000000.00001000 = 8

1 111 1 110 1 101 1 100 1 011 1 010 1 001 1 000

- 001 = -1 - 010 = -2 - 011 = -3 100 = -4 4 - 101 = -5 - 110 = -6 - 111 = -7 -1 000 = -8 = -(2n-1)


45

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

Nmeros enteros. Complementos (13)


Al operar aritmticamente en complemento 2 se obtiene el resultado correcto sin mas que sumar. Ejemplo: 80 |10 -100|10= -20|10 La resta anterior se representa como la suma del valor en complemento 2 de 80 y de -100. En 8 bits: 01010000 80 |10 -> > 01010000|2 + 10011100 100 |10 -> 01100100|2 -100 |10 -> 10011100|2-comp2
Fundamentos de Informtica

11101100 -00010100|2
46

-20|10

Tema 1 - Representacin de la Informacin

23

Nmeros enteros. Complementos (y 14)


Resumiendo: Representacin en complemento a uno Tiene como rango de representacin desde (2n-1-1) hasta +(2n-1-1). Presenta el problema de tener dos ceros. Plantea asimismo problemas al realizar sumas con signo. Representacin p en complemento p a dos Tiene como rango de representacin desde (2n-1) hasta +(2n-1-1). No presenta el problema de tener dos ceros. Al operar con signo se obtiene el resultado correcto tanto si el valor es positivo (bit de signo 0, valor binario) como si ste es negativo (bit de signo 1, complemento a dos).
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

47

Nmeros enteros.
Representacin en exceso (1)
Consiste en tomar el valor del nmero a representar p y sumarle un exceso k. A cada nmero se le suma el mismo valor y est en exceso por dicho valor. Tambin se denomina representacin sesgada (biased). Normalmente, ,yp para conseguir g q que el nmero de valores negativos y positivos sea similar, se escoge como exceso k= bn-1 (Exceso a bn-1) o k= bn-1-1

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

48

24

Nmeros enteros.
Representacin en exceso (2)
Si se trabaja por ejemplo con 8 bits, un posible exceso es: 27-1=127|10 De este modo la correspondencia ser
-127|10 -126|10 -1|10 0|10 +1|10 +127|10 +128|10 -127 + 127 = 0 -126 + 127 = 1 -1 + 127 = 126 0 + 127 = 127 +1 + 127 = 128 +127 + 127 = 254 +128 + 127 = 255 00000000|e127 00000001|e127 01111110|e127 01111111|e127 10000000|e127 11111110|e127 11111111|e127

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

49

Nmeros enteros.
Representacin en exceso (3)
El menor nmero que se podr representar se corresponde precisamente con el exceso que se elija. En el ejemplo, con n=8 se ha escogido 2(8-1)-1 = 127. El rango entonces va desde -127 hasta +128. Generalizando, y si se usa ese exceso, el rango va desde -(2(n-1)-1) hasta +2(n-1).

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

50

25

Nmeros enteros.
Representacin en exceso (4) Al sumar dos nmeros representados p en exceso se necesita corregir el resultado
A|e = A|10 + exc; B|e = B|10 + exc; A|e+B|e=A|10+exc+ B|10+exc = Suma|10 + 2exc;

Hay que restar un exceso al resultado obtenido

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

51

Nmeros enteros.
Representacin en exceso (5) Si A y B son la representacin en exceso de los nmeros a y b, se cumple que

ab A B
Las representaciones de los nmeros conservan el orden
de los mismos. El resto de representaciones vistas no cumplen esta propiedad. Esto es til cuando se realizan comparaciones de nmeros.

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

52

26

Nmeros enteros.
Representacin en exceso (6)
Desventajas
Requiere de operaciones aritmticas intermedias para su obtencin, y de cambiar el nmero de bits, se deben actualizar dichas operaciones intermedias para reflejar el nuevo exceso. Posee rango asimtrico Permite operar p aritmticamente ( (aunque q hay y q que restar un exceso al resultado final). No hay empaquetacin del nmero: no hay que distinguir entre signo y significando, los n-bits son el nmero. Permite la comparacin directa entre nmeros
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

Ventajas

53

Nmeros reales. Coma Flotante (1)


Un nmero real consta de una parte entera y otra fraccionaria, ms el signo. Existen dos opciones de representacin: coma fija o coma flotante. Coma fija: Se asigna una cantidad fija de dgitos para
la parte entera y una cantidad fija para la parte f fraccionaria. i i Ejemplo: Obviando el asunto del signo, si disponemos de 8 bits y reservamos 5 bits para la parte fija y 3 para la fraccionaria, el nmero 21.7510 sera 10101.110
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

54

27

Nmeros reales. Coma Flotante (2)


Coma fija j Al usar la notacin en coma fija, queda muy limitado el nmero de cantidades a representar y todas ellas deben tener la misma resolucin. Ejemplo de 8 bits sin tener en cuenta el signo: 5 bits para parte entera y 3 para la parte fraccionaria: 1. No podremos representar nmeros enteros mayores o iguales que 32 (25) 2. Ni nmeros ms pequeos que 0,125 (2-3). 3. La mxima resolucin es 0,125 (2-3).
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

55

Nmeros reales. Coma Flotante (3)


La representacin p en coma flotante adopta p una notacin exponencial: Ejemplo: +345.23, en base 10: Emplea tres cifras enteras y dos fraccionarias. Un total de 5 cifras (ms un signo) Usando una notacin exponencial se admiten mltiples representaciones. 34523. x 10-2 = .34523 x 10+3 = 345.23 x 100

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

56

28

Nmeros reales. Coma Flotante (4)


Ejemplo: j p +345.23, en base 10:
Todas emplean 5 cifras para la mantisa, ms el correspondiente nmero de cifras para el exponente (que es un entero positivo o negativo). La base, al ser siempre 10, no es necesario indicarla. Nmero = signo | exponente | mantisa 34523. x 10-2 = + .34523 x 10+3 = + 345.23 x 100 = + | -2 | +3 |0 | 34523 | .34523 | 345.23

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

57

Nmeros reales. Coma Flotante (5)


Hay como se ve una multiplicidad de representaciones. t i P Para d h deshacer esa multiplicidad, lti li id d la representacin del nmero real en coma flotante se hace de forma similar a la notacin cientfica: r=m x be. Consta de tres partes:
1.La mantisa m. Es un coeficiente formado por un nmero real con una sola cifra entera seguido por una coma (o punto) y de varias cifras fraccionarias. 2. La base b. Es 10 en el sistema decimal y 2 en binario. 3. El exponente e. Eleva la base a una potencia
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

58

29

Nmeros reales. Coma Flotante (6)


Se consigue, manteniendo el nmero de cifras: representar un rango mayor de nmeros (dependiendo del exponente) con una mayor o menor precisin (segn el nmero de cifras en la mantisa). El computador utiliza el sistema binario (base dos), con un nmero de bits a repartir entre signo, mantisa y exponente.

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

59

Nmeros reales. Coma Flotante (7)


El orden de almacenamiento es: signo seguido de exponente seguido de mantisa:
n bits

1 bit de signo

nc bits exponente
(caracterstica)

nm bits mantisa

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

60

30

Nmeros reales. Coma Flotante (7)


En ocasiones se emplea la palabra caracterstica para distinguir el valor El orden de es: signo seguido de del e almacenamiento exponente ponente de su s representacin exponente seguido de mantisa: (o caracterstica)
n bits

1 bit de signo

nc bits exponente
(caracterstica)

nm bits mantisa

El orden no es balad: permite que los algoritmos de comparacin entre nmeros enteros sean tambin vlidos para esta representacin de nmeros reales.
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

61

Nmeros reales. Coma Flotante (8)


Hay que definir unas reglas acerca de: - Dnde se sita la coma (punto) decimal - Cmo se representan los exponentes - Cmo se representan los nmeros negativos
Se habla entonces de diferentes normalizaciones: qu mantisa escoger, cmo afecta al exponente, combinaciones reservadas (cero, infinito), nmeros positivos y negativos
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

62

31

Nmeros reales. Coma Flotante (9)


Hasta la dcada de los 80, cada fabricante usaba su propia representacin, t i lo l que dificultaba difi lt b el l desarrollo d ll de d algoritmos l it eficientes de clculo, procesadores estndar, etc. Por ello, la asociacin IEEE desarroll el estndar IEEE 754, que contempla entre otros aspectos dos posibles formatos:

- Simple precisin: 32 bits.


g , 8 bits p para el exponente p (representado ( p en exceso 127) ) Un bit de signo, y 23 bits para la mantisa. - Doble Precisin: 64 bits. Un bit de signo, 11 bits para el exponente (representado en exceso 1023) y 52 bits para la mantisa.
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

63

Nmeros reales. Coma Flotante (10)


IEEE 754
Bit de signo
Positivos : Cero Negativos: Uno

Exponente
Se representa en exceso 2(nc-1)-1. Se pueden representar as exponentes desde -(2(nc-1)-1) hasta +2(nc-1). Simple precisin: exceso 127, 127 [-127,128] [ 127 128] Doble precisin: exceso 1023, [-1023,1024]

Mantisa
Se normaliza del modo 1,m. Es decir, el primer uno (bit ms significativo) del nmero positivo se sita a la izquierda de la coma. Se usa representacin en signo-magnitud.
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

64

32

Nmeros reales. Coma Flotante (11)


Ejemplo: 13.125| 13 125|10 = 1101.001| 1101 001|2 La mantisa, en la forma indicada ser: 1,101001 Dependiendo del nmero de bits para la mantisa se completa con los ceros correspondientes : nm bits (mantisa) 101001000..0000 El primer uno no se almacena (uno implcito) pues est siempre presente. Esto permite almacenar un bit ms (aumento de la precisin)
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

65

Nmeros reales. Coma Flotante (12)


Ejemplo: 13.125|10 = 1101.001|2
1101.001|2 = 1101.001 x 20 = 1.101001 x 23 El exponente a representar es +3

En simple precisin:
Exponente (caracterstica) = +3 +127 = +130|10
bit signo 0 8 bits (exponente) 10000010 23 bits (mantisa) 10100100000000000000000

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

66

33

Nmeros reales. Coma Flotante (13)


Ejemplo: Obtencin del valor real correspondiente a un nmero representado en simple precisin por:
bit signo 0 8 bits (exponente) 10000101 23 bits (mantisa) 11011010000000000000000

Signo 0 Nmero positivo Exponente = +133|10 (caracterstica) -127(exceso) = +6 Mantisa (incluyendo el 1 implcito) 1.1101101000000000000000 x 26 = 1110110.1000000000000000 x 20= 1x 26+ 1x 25+ 1x 24+ 1x 22+ 1x 21+ 1x 2-1=+118.5
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

67

Nmeros reales. Coma Flotante (14)


Si el nmero real que se quiere transformar no es tan sencillo hay que emplear un mtodo para obtener su representacin en coma flotante.
Ejemplo: Sea N10 =1359 x 1026 1. Se coloca el bit de signo g ( (0 p positivo, 1 negativo). g ) Ap partir de aqu, al trabajar en signo-magnitud se tratan del mismo modo positivos y negativos. Ejemplo: Positivo, bit de signo 0
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

68

34

Nmeros reales. Coma Flotante (15)


2 Se despeja x de la igualdad N=2x (x es as una 2. aproximacin del exponente) Es decir: En el ejemplo:

ln(1359 10 26 ) ln(1359 ) 26 ln(10 ) 96,7784602 1 ln( 2) ln( 2)

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

69

Nmeros reales. Coma Flotante (16)


3. En ge 3 general e a x tiene e e pa parte e real ea y fraccionaria: acc o a a x=e.f e

2x = 2e.f = 2e*2f = 2e*2f = 2exponente* mantisa


En el ejemplo: e=96 f=0.77846021 Dado que la norma IEEE 754 nos impone una mantisa de la forma 1.xxxxx, necesitamos 2f=1.xxxx, y, por tanto, f debe cumplir 0<f<1 Obtencin de e y f: - Si x es positivo, f cumple 0<f<1: e=e f=f - Si x es negativo, -1<f<0: e=e-1 f=1+f (e+ f = e-1+1+f = e+f )
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

70

35

Nmeros reales. Coma Flotante (17)


2x = 2e.f = 2e * 2f
El nmero es m*2e .La mantisa m se obtiene de 2f. En el ejemplo: 20.77846021 =1.715299155|10= =1 .10110111000111011101100| |2 1359x1026 = 296. 20.77846021 = =1 .10110111000111011101100|2 x 296

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

71

Nmeros reales. Coma Flotante (18)


4. Se normaliza el nmero (si es necesario) y se representa el exponente en exceso. En el ejemplo: Simple precisin Exponente = 127 + 96 = 223|10 = 11011111|2
bit signo 0 8 bits (exponente) 11011111 23 bits (mantisa) 10110111000111011101100

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

72

36

Nmeros reales. Coma Flotante (19)


4. Se normaliza el nmero (si es necesario) y se representa el exponente en exceso exceso.

Una vez obtenidos el exponente y la mantisa a representar se pueden dar diferentes casos. Para simple precisin: Exponente entre -126 y 127. El nmero se representa de la forma vista. Exponente entre -149 y -127. El nmero se representar desnormalizado. Exponente menor que -149. 149 Se representar como cero (con su signo). signo) Exponente mayor que 127. Se representar como infinito (con su signo). Lo anterior est relacionado con el rango y la representacin de casos especiales previstos en la norma.
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

73

Nmeros reales. Coma Flotante (20)


Ejemplo. Representar el nmero N=-0.027 x 10-27 en Coma Flotante (Simple Precisin). Precisin)
BIT DE SIGNO. Es negativo. Luego Bit de signo=1

Ahora se representa 0.027 x 10-27


APROXIMAR. N=2x

ln(N)=ln(2x)=xln(2) Luego e e=-94 94

ln (N) 94 .90295534 ln ( 2 )

2x= 2e.f=2 2e *2f

f=-0.90295534 f 0.90295534

Como e es negativo e=e-1=-95 f=1+f=0.09704466

N=-0.027 x 10-27 2x= 2-95 x 20.09704466 = 2-95 x 1.069580197


EXPONENTE
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

MANTISA
74

37

Nmeros reales. Coma Flotante (21)


REPRESENTAR EXPONENTE

En exceso. 127 95 =32. Con 8 bits


REPRESENTAR MANTISA

00100000

1.069580197|10=1.00010001110100000000001
(Se toman 23 bits sin el 1 implcito)

bit signo 1

8 bits (exponente) 00100000

23 bits (mantisa) 00010001110010101100001

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

75

Nmeros reales. Coma Flotante (22)


Resumen. Pasos a seguir en la transformacin
1. Se coloca el bit de signo (0 positivo, 1 negativo). A partir de aqu, al trabajar en signo-magnitud se tratan del mismo modo positivos y negativos. 2. Se despeja x de la igualdad N=2x (x es as una aproximacin del exponente) Es decir ln(N ) ln (N) ln ( 2 x ) x ln ( 2 ), de donde, x ln(2) 3.En general x tiene parte real y fraccionaria: x=e.f Se cumple que: 2x = 2e.f = 2e . 2f -Si Si x es positivo: e e=e =e f=f f =f -Si x es negativo: e=e-1 f=1+f (para que se cumpla la igualdad anterior, e+f=e-1+1+f = e+f ) La mantisa m se obtiene de 2f. El exponente es e. El nmero es mx2e 4. Se normaliza el nmero (si es necesario) y se representa el exponente en exceso.
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

76

38

Nmeros reales. Coma Flotante (23)


Casos especiales p
Los dgitos del exponente son todos 0s o todos 1s 1. Exponente con todos 1 Mantisa con todo 0 y signo 0 : + Mantisa con todo 0 y signo 1 : - Mantisa distinta de 0: NaN (indeterminado) 2. Exponente con todos 0 Mantisa con todo 0 y signo 0 : +0 Mantisa con todo 0 y signo 1 : - 0 Mantisa distinta de 0: Nmeros desnormalizados
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

77

Nmeros reales. Coma Flotante (24)


Rango - Mayor valor. Mayor mantisa (todos 1) junto con el mayor exponente posible .
Mayor valor En simple precisin
bit signo 0 8 bits (exponente) 11111110 23 bits (mantisa) 111111111111111111111111

Exp mayor|10 = 11111110|2 - 127 = 254 127 = +127 Mant mayor|10 = 1. 11111|2 = 2 2-23=2 x (1-2-24) Mayor valor = 2 x (1-2-24) x (2+127)=(1-2-24) x 2+128 3.4x1038
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

78

39

Nmeros reales. Coma Flotante (25)


Rango
Menor valor (normalizado). En simple precisin
bit signo 0 8 bits (exponente) 00000001 23 bits (mantisa) 00000000000000000000000

Exp menor|10 = 00000001|2 - 127 = 1 127 = -126 Mant menor|10 = 1.00000000000000000000000 = 20 (pues hay un 1 implcito) Menor valor normalizado = 20x 2-126 = 2-126 1.18x10-38
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

79

Nmeros reales. Coma Flotante (26)


Casos especiales
La desnormalizacin permite representar nmeros con valor absoluto muy pequeo. Mantisa en formato 0,m (desnormalizada) Exponente a cero (-126) .
Ej Ejemplo: l En E simple i l precisin, i i un nmero t l como tal
bit signo 0 8 bits (exponente) 00000000 23 bits (mantisa) 0001000000..0000

Valor|10 = 0.0001|2 x 2-126 = 2-4 x 2-126 = 2-130


Fundamentos de Informtica Tema 1 - Representacin de la Informacin

80

40

Nmeros reales. Coma Flotante (27)


Rango en valores desnormalizados
Menor valor (Simple precisin)
bit signo 0 8 bits (exponente) 00000000 23 bits (mantisa) 00000000000000000000001

Como ahora hay desnormalizacin Exp p = -126 Mant menor|10 = 0.00000000000000000000001 = 2-23 Menor valordesnormalizado = 2-23x 2-126 = 2-149 1.4x10-45

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

81

Nmeros reales. Coma Flotante (28)


Resumen rango
Simple precisin:
- Desde: 2-126 1.18x10-38 hasta (1-2-24) x 2+128 3.4x1038 - Desnormalizados: hasta 2-149 1.4x10-45

Doble precisin:
- Desde: 2-1023 1.11x10-308 hasta (1-2-53) x 2+1024 1.7x10308 - Desnormalizados: hasta 2-1075 2.4x10 2 4x10-324

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

82

41

Nmeros reales. Coma Flotante (y 29)


Precisin
Nmero de bits en la mantisa
Un bit adicional en la mantisa significa que la distancia entre dos nmeros consecutivos representables se divide entre dos.
Segn esto el trmino doble precisin no es riguroso. La precisin que ofrece es mucho mayor.

El valor del nmero


Los nmeros no estn uniformemente distribuidos sobre la recta real, sino que estn ms prximos cerca del origen (exponentes ms pequeos) y ms separados a medida que nos alejamos de l (exponentes ms grandes).
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

83

Representacin de caracteres (1)


Introduccin
La representacin de datos no solo numricos se hace a travs de combinaciones de bits. Se representan los caracteres del teclado y combinaciones de los mismos (cadenas de caracteres). Segn la normalizacin empleada, cada carcter emplea un byte (8 bits), bits) dos bytes Cada dato se asocia entonces a un nmero, el valor binario (entero) de dicha combinacin de bits.

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

84

42

Representacin de caracteres (2)


Cdigo ASCII
American Standard Code for Information Interchange

Utiliza 8 bits para representar cada carcter. Hay caracteres que se usan para casos especiales (fin de cadena, por ejemplo)

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

85

Representacin de caracteres (3)


Cdigo UNICODE
Utiliza 16 bits por carcter Permite representar caracteres idiomas en diferentes

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

86

43

Representacin de caracteres (4)


La lectura de datos desde el teclado y la salida p por pantalla utilizan este tipo de cdigos. En el caso de los nmeros hay que distinguir entre su representacin en el cdigo y su representacin binaria Por ejemplo. Almacenar el carcter 5 mediante el cdigo (53) significa almacenar el nmero binario 00111101|2. Almacenar el nmero 5 significa almacenar el nmero entero en binario 00000101|2.

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

87

Representacin de caracteres (5)


Cadenas de caracteres
Es un conjunto de caracteres (de cualquier tipo) Se almacenan en posiciones consecutivas de memoria. Cada carcter ocupa un byte (si se usa ASCII, p.ej.) Para indicar el final de la cadena se pueden usar diferentes mecanismos. En lenguaje C, por ejemplo, se usa un carcter especial (suele ser NUL del cdigo ASCII) que seala que se acaba la cadena

Ejemplo.
Si la cadena es: Vaya chapa, hay 10 caracteres (se incluye el espacio en blanco) y los caracteres se almacenaran en las posiciones X, X+1, X+2.X+9, ocupando el carcter NUL la posicin X+10
Fundamentos de Informtica Tema 1 - Representacin de la Informacin

88

44

Algunas referencias.
Fundamentos de Informtica y Programacin g en C. Diego R. Llanos Ferraris (Paraninfo 2010) Fundamentos de los computadores (9 edic) Pedro de Miguel Anasagasti. (Thomson 2004) Conceptos de Informtica. A.Prieto Espinosa p y B. Prieto Campos. p (Schaum. Mc-Graw-Hill 2005)

Fundamentos de Informtica

Tema 1 - Representacin de la Informacin

89

45

S-ar putea să vă placă și