Sei sulla pagina 1di 29

Departamento de Sistemas Informticos ( Albacete) Universidad de Castilla La Mancha

TEMA 1

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de la informacin en los computadores


Introduccin Sistemas de numeracin y conversin Operaciones aritmticas en binario Representacin de textos. Cdigos de entrada/salida Representacin de datos numricos
Datos de tipo entero Enteros sin signo Enteros con signo : Signo magnitud Complemento a dos Representacin sesgada o polarizada Datos BCD (decimales codificados en binario) Datos de tipo real Normalizacin IEEE 754 (coma flotante)

Representacin de los nmeros en lenguaje C


Tema 1 - 1
Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Introduccin
Fsicamente la informacin puede almacenarse en el interior de un computador mediante dos estados
Diferente polaridad magntica Cintas de msica Discos duros Diferente voltaje elctrico Lnea telefnica convencional Presencia y ausencia de luz CD- ROM Lnea telefnica de fibra ptica

Estos dos estados se representan conceptualmente como cero (0) y uno (1)
bit (binary digit) Unidad mnima de almacenamiento
Tema 6 - 2

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Introduccin
Un Byte es un conjunto de 8 bits
Combinaciones de 2 elementos tomados de 8 en 8 C28 = 256 posibilidades

La capacidad de memoria de un computador se mide en Bytes Como el Byte es una unidad relativamente pequea se usan mltiplos
KiloByte MegaByte GigaByte TeraByte PetaByte ExaByte KB = 210 =1.024 Bytes MB = 220 = 1.048.576 Bytes GB = 230 = 1.073.741.824 Bytes TB = 240 PB = 250 EB = 250 103 Bytes 106 Bytes 109 Bytes 1012 Bytes 1015 Bytes 1018 Bytes
Tema 6 - 3

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Sistemas de numeracin
Un sistema de numeracin en base b utiliza un alfabeto compuesto por b smbolos o cifras para representar los nmeros
Sistema de numeracin
Binario Octal Decimal Hexadecimal

Base
2 8 10 16

Alfabeto
0, 1 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

La representacin de un nmero en base b depende De las cifras que lo componen De las posiciones que ocupen dentro del nmero n = ... n3b3 + n2b2 + n1b1 + n0b0 + n-1b-1

Ejemplo 3.452(10 = 3.000 + 400 + 50 + 2 3.452(10 = 3103 + 4102 + 5101 + 2 100


Tema 6 - 4

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Conversin entre sistemas de numeracin


0 1 2

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Conversin binario decimal


Se suman los pesos de las cifras que valen 1
1 0 0 1 peso: 2 5 2 4 2 3 2 2 (peso: 32 16 8 4 1 1 )2 = 32 + 4 + 2 + 1 = 39)10 21 20
2 1)

Decim al

Binario 0 1 10 11 100 101 110 111 1000 19 1010 20 21 22 23 24 1111 10000 10001 10010 25 26 27 28 29 30 31 11110 11111 10011 10100

3 4 5 6

1 0 0 1 , 0 1) 2 = 8+1+ = 9,25)10 peso: 2 3 2 2 2 1 2 0 2 -1 2 -2 (peso: 8 4 2 1 )

7 8 9 10 11 12 13 14

Ejercicio propuesto:
Transformar a decimal el nmero 10100.001)b Solucin: 20,125)10

15 16 17 18

Tema 6 - 5
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Conversin entre sistemas de numeracin

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Conversin decimal binario


Parte entera 1) Se divide entre dos el nmero original y los sucesivos cocientes 2) El ltimo cociente es el bit ms significativo del nmero binario y los restos en sentido inverso Ejemplo: 28)10 = 11100 )2
28 2 0 14 0 2 7 1

2 3 1

2 1

Parte fraccionaria 1) Se multiplica por dos la fraccin original y las sucesivas fracciones obtenidas 2) La fraccin en binario se compone de las partes enteras obtenidas en las multiplicaciones realizadas Ejemplo: 0,1875 )10 = 0,0011 )2
0.1875 2 0.3750 0.3750 2 0.7500 0.7500 2 1.5000 0.5000 2 1.0000

Tema 6 - 6

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Conversin entre sistemas de numeracin

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Ejercicio propuesto: Transformar a binario el nmero 74,423 )10 Utilizar cinco cifras decimales Solucin: 1001010,01101 )2

Tema 6 - 7
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Conversin entre sistemas de numeracin

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Los sistemas octal y hexadecimal se utilizan como representacin intermedia debido a que la conversin a binario puede hacerse dgito a dgito
Decimal 0 Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Octal 0 1 2 3 4 5 6 7 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F

binario octal 10001101100,11010(2 binario 010 001 101 100 , 110 100 octal 2 1 5 4 , 6 4 octal binario 3174,62(8 octal 3 1 7 4 , 6 2 binario 011 001 111 100 , 110 010

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Tema 6 - 8

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Conversin entre sistemas de numeracin

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

binario hexadecimal
Decimal Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Octal 0 1 2 3 4 5 6 7 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F

1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 ,1 1 0 1(2 binario Hexadec 100 0110 1100 0000 , 1101 4 6 C 0 , D

0 1 2 3 4 5

hexadecimal binario
A2B5,F (16 Hexadec A 2 B 5 , F Binario 1010 0010 1011 0101 , 1111

6 7 8 9 10 11 12 13 14 15

Tema 6 - 9
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Conversin entre sistemas de numeracin

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Conversin decimal hexadecimal binario

3675 16 047 229 155 069 11 05

16 14

E5B )

= 1110 0101 1011 ) 2

Nota:

Puede pasarse de decimal a binario pasando previamente a hexadecimal. De esta forma es ms rpido

Tema 6 - 10

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Operaciones aritmticas en binario natural

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Al ser la representacin en binario una notacin ponderada las operaciones aritmticas son anlogas a las realizadas en decimal

Suma
a 0 0 1 1 b 0 1 0 1 a+b 0 1 1
Me llevo 1

Resta
a 0 0 1 1 b 0 1 0 1 a-b 0
Me llevo 1

Multiplicacin
a 0 0 1 1 b 0 1 0 1 ab 0 0 0 1 a 0 0 1 1

Divisin
b 0 1 0 1 a/b
Indeterm.

1 1 0

Tema 6 - 11
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Operaciones aritmticas en binario natural


Suma

Ejemplo
. . .
a 0 0 1 1

Suma
b 0 1 0 1 a+b 0 1 1
Me llevo 1

1 1 1 0 1 0 0 1 + 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 0 1 Cada punto indica una que me llevo Las que me llevo se suman al resultado de la columna

Tema 6 - 12

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Operaciones aritmticas en binario natural


Resta

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Ejemplo
1 0 1 0 1 0 0 1 0 1 1 1
a 0 0 1 1

Resta
b 0 1 0 1 a-b 0
Me llevo 1

0 1 0 0 1 1 Cada punto indica una que me llevo Las que me llevo se restan al resultado de la columna

1 1 0

Tema 6 - 13
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Operaciones aritmticas en binario natural


Multiplicacin

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Ejemplo
Multiplicacin 1 1 0 1 0 1 0 x 1 1 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0
a 0 0 1 1 b 0 1 0 1 ab 0 0 0 1

Multiplicar por 2 equivale a desplazar el punto decimal a la derecha, o aadir un cero a la parte derecha

Tema 6 - 14

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Operaciones aritmticas en binario natural


Divisin
1 0 1 1 0 , 1 0 1 0 1 1 1 1 - 1 0 1 0 1 0

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Ejemplo
1 1 0 1 , 0 1 1 - 1 0 1 0 0 1 1 - 1 0 0 0

Divisin
a 0 0 1 1 b 0 1 0 1 a/b
Indeterm.

Dividir por 2 equivale a desplazar el punto decimal a la izquierda, o eliminar un cero a la derecha

Tema 6 - 15
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de textos. Cdigos de entrada/salida


Cmo se puede guardar en memoria por ejemplo un texto?
Toda la informacin suministrada al ordenador se traduce a caracteres de un determinado cdigo
= { A, B, C, D, ..., a, b, c, ..., 0, 1, 2, ..., +, -, *, / } Cada carcter se representa internamente con cierta combinacin de n bits exclusiva

Los caracteres suelen agruparse en cinco categoras


Caracteres alfabticos A, B, C, ...Y, Z, a, b, c, d, , z Caracteres numricos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Caracteres especiales ) , ( * / ; : + ! & Caracteres de control Fin de lnea, Retorno de carro, Pitido, Caracteres grficos de figuras elementalers

Tema 6 - 16

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de textos. Cdigos de entrada/salida


Hay que establecer una correspondencia entre el conjunto de caracteres y el conjunto binario = { 0, 1 }n El nmero m de elementos del conjunto depende del dispositivo o sistema informtico de codificacin de E/S que se est utilizando Supongamos que utilizamos un nmero fijo de n bits para codificar los smbolos de
Con 2 bits (n=2) Podemos hacer 4 combinaciones distintas Podemos codificar hasta 4 smbolos (m=4) distintos Con 3 bits (n=3) Podemos hacer 8 combinaciones distintas Podemos codificar hasta 8 smbolos (m=8) distintos Con n bits Podemos codificar hasta m = 2n smbolos distintos

Para codificar m smbolos distintos necesitamos n bits


n>= log2 m = 3.32log m, Como en la prctica n debe ser entero, n es el menor entero que verifica la relacin
Tema 6 - 17
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de textos. Cdigos de entrada/salida


Cul es la cantidad n de bits que necesitamos para poder representar una cantidad m de smbolos? n >= log2(m) = 3.32 log(m)
n es el menor entero que verifica la ecuacin anterior

Ejemplos
Para representar 10 smbolos necesitar 4 bits 3.32 x log(10) = 3,32 4 Para representar 50 smbolos necesitar 6 bits 3.32 x log(50) = 5,64 6 Para representar 200 smbolos necesitar 8 bits 3.32 x log(200) = 7,63 8

Tema 6 - 18

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de textos. Cdigos de entrada/salida


Cdigo BCDIC
Standard Binary Coded Decimal Interchange Code Usualmente este cdigo utiliza 6 bits (hasta 64 caracteres) A veces se aade un bit adicional para verificar posibles errores de transmisin o grabacin EBCDIC: Extended BCDIC. Utiliza 8 bits para representar cada carcter (hasta 256 smbolos distintos)

Cdigo ASCII
American Standar Code for Information Interchange Versin reducida de 7 bits, usualmente se incluye un octavo bit para deteccin de errores de transmisin o grabacin Versin extendida de 8 bits, con caracteres grficos Hoy en da es de los ms utilizados

Tema 6 - 19
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

T A B L A A S C I I

Tema 6 - 20

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

T A B L A A S C I I

Tema 6 - 21
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de datos numricos


Los datos se introducen en el computador (por ejemplo desde el teclado) segn un cdigo de E/S tanto si son numricos como alfabticos Con los datos numricos se realizan operaciones aritmticas, y la representacin obtenida con un cdigo de E/S no es la ms adecuada Por ejemplo, la representacin del nmero 253 en cdigo ASCII con bit para deteccin de errores usara 24 bits El mismo nmero, representado en binario, sera 253(10 = 11111101(2 La representacin con el cdigo de E/S es ms larga, y dificulta las operaciones matemticas Por todo esto se realiza una conversin del cdigo de E/S a otra notacin que denominaremos representacin interna La representacin interna depende del computador o del lenguaje de programacin utilizado y del uso que el programador desee hacer de los datos
Tema 6 - 22

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de datos numricos


Datos de tipo entero
Enteros sin signo Enteros con signo
Signo magnitud Complemento a dos Representacin sesgada o polarizada

Datos BCD (decimales codificados en binario)

Datos de tipo real


Normalizacin IEEE 754

Tema 6 - 23
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de enteros sin signo


Representacin en binario
Todos los bits del dato representan su valor
valor Ejemplo: el nmero binario 00010011 representa el nmero 19)10 Ejemplo: el nmero binario 11111111 representa el nmero 255) 10

Rango: Es el intervalo de nmeros representables Depende del nmero de bits Para n bits el rango ser [0, 2 n -1 ]

Tema 6 - 24

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de enteros con signo


Veremos 3 formas:
Signo y magnitud Complemento a dos Sesgada o polarizada

Signo y magnitud
signo valor

El signo se representa con el bit ms significativo (situado a la izquierda)


0 nmero positivo 1 nmero negativo

El resto de bits representa el valor absoluto del nmero en binario natural


Tema 6 - 25
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de enteros con signo


Ejercicio propuesto:
Obtener la representacin en signo magnitud del nmero decimal -3675. Suponer que tiene que almacenarse en 16 bits
( Sol: 1 000 1110 0101 1011 )

Y si tuviera que almacenarse en 32 bits?

Tema 6 - 26

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de enteros con signo


Complemento a dos
signo valor

El signo se representa con el bit ms significativo (situado a la izquierda)


0 nmero positivo 1 nmero negativo

Si el nmero es positivo, el resto de bits representa el valor absoluto del nmero en binario natural Si el nmero es negativo se representa el valor en complemento a 2 del valor absoluto del nmero en binario Esta es la forma ms ampliamente utilizada en la actualidad para representar los nmeros enteros con signo
Ello se debe a la facilidad con la que permite realizar las restas
Tema 6 - 27
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de enteros con signo.


Complemento a la base
Decimal C10
(de 2 cifras)

Es una forma de representar nmeros negativos


Permite realizar las restas como si fueran sumas El objetivo es reducir la complejidad del procesador

+0 +1 +2 +3

00 01 02 03 48 49 50 51 52 96 97 98 99
Tema 6 - 28

Slo puede usarse fijando la cantidad de cifras que tienen los nmeros Dado un nmero N de n cifras, el complemento a la base de dicho nmero es: Cb(N) = bn-N

+48 +49 -50 -49 -48 -4 -3 -2 -1

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Representacin en complemento a la base

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Ejemplo en base 10 con dos cifras


C10(3) = 102 3 = 100 3 = 97)c10 Decimal +0 +1 46 3 43 46 +97 (1) 4 3 +2 +3 +48 +49 -50 -49 -48 -4 -3 -2
(100-4)

C10 00 01 02 03 48 49 50 51 52 96 97 98 99
Tema 6 - 29

Vemos que si queremos restar 46 -3 lo podemos hacer de dos formas: A) Usando la resta habitual B) Usando complemento a la base (Complemento a 10 ) del sustraendo y la resta la convertiremos en suma.

Ojo:
El complemento a 10 de +4 es 4 El complemento a 10 de -4 es 96

-1

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Representacin en complemento a 2

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

El C2 de un nmero binario de n bits es C2(N) = 2n-N


C2(10010(2) = 25 10010(2 = 100000(2 10010(2 = 01110(2 Para no sobrepasar los n bits prefijados se suele realizar la conversin de la forma de la derecha
100000 10010 001110

11111
+ 10010 01101 1 01110

Truco El C2 de un nmero binario se calcula sustituyendo los ceros por unos y los unos por ceros, y sumando 1 al resultado
El bit ms significativo (el de la izquierda) indica el signo del nmero 0 positivo 1 negativo
Tema 6 - 30

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Representacin en complemento a 2

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Truco
El C2 de un nmero binario se calcula sustituyendo los ceros por unos y los unos por ceros, y sumando 1 al resultado

Tema 6 - 31
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Representacin en complemento a 2

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Con n bits podemos representar 2n nmeros distintos


Decimal0 C2 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111
Tema 6 - 32

En C2, la mitad de ellos son positivos (incluido el 0) y la mitad negativos


Ejemplo: C2 de 4 bits Operaciones
1101 + 0101 (1) 0 0 1 0 1111 + 1101 (1) 1 1 0 0 0010 + 1111 (1) 0 0 0 1 -3 + +5 +2

-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7

-1
+ -3 -4 +2 + -1 +1

Se pueden restar dos nmeros sumando al minuendo el complemento a la base del sustraendo y despreciando el acarreo del resultado

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de enteros con signo


Ejercicio propuesto:
Obtener la representacin en complemento a dos del nmero decimal -3675. Suponer que tiene que almacenarse en 16 bits
( Sol: 1111 0001 1010 0101 )

Y si tuviese que almacenarse en 32 bits?

Tema 6 - 33
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de enteros con signo


Ejercicio propuesto:
Obtener la representacin en complemento a dos del nmero decimal -1. Suponer que tiene que almacenarse en 8 bits
( Sol:)

Y si tuviese que almacenarse en 16 bits?


( Sol:)

Tema 6 - 34

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de enteros con signo


Representacin sesgada o polarizada
valor + constante de polarizacin

Se suma al dato un sesgo o constante de polarizacin, de forma que el nmero resultante sea siempre positivo Si el nmero ser almacenado en n bits, los sesgos ms utilizados son: 2n-1 2n-1-1 pues dividen el rango equitativamente entre nmeros positivos y negativos
Nmero entero Nmero + sesgo
0 +1 +254 +255

Valor Almacenado
0000 0000 0000 0001 1111 1110 1111 1111 Tema 6 - 35

Ejemplo: Con 8 bits Sesgo = 28-1-1 = 127

-127 -126 +127 +128

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Rango
Suponer que tenemos n bits para representar un nmero entero
a) Si es un nmero entero sin signo el rango ser [0, 2 n -1]

b) Si es un nmero entero con signo en complemento a dos el rango ser [- 2 n-1 , +2 n-1 -1]

Ejercicios: Cul es el mayor nmero entero sin signo con 16 bits? Sol: 2 n-1 = 216-1 = 65.535 Cul es el mayor nmero entero positivo representable con 16 bits? Sol: Usamos complemento a dos + 2 16-1 -1 = + 2 15 -1= +32.767 Cul es el mayor nmero entero negativo representable con 16 bits? Sol: Usamos complemento a dos - 2 16-1 = - 2 15 = - 32.768

Tema 6 - 36

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de enteros sin signo


Representacin en BCD (decimal codificado en binario)
Los datos se representan internamente codificando aisladamente cada dgito decimal con cuatro dgitos binarios BCD desempaquetado: 1 dgito /Byte

Los 4 bits menos significativos representan 1 dgito decimal Los 4 bits ms significativos se asignan a cero
Decimal 0 1 2 3 4 5 6 7 8 9 binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

BCD empaquetado: 2 dgitos /Byte Los 4 bits menos significativos representan 1 dgito decimal Los 4 bits ms significativos otro dgito decimal

Ejemplo: - el nmero BCD desempaquetado 00000011 representa el nmero 3 )10 - el nmero BCD empaquetado 00010011 representa el nmero 13 )10

Tema 6 - 37
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de enteros sin signo


Ejercicios: Representacin en BCD (decimal codificado en binario) 1.- Cul es la representacin en binario del nmero decimal 1253? 2.- Cul es la representacin en BCD desempaquetado del nmero decimal 1253? 3.- Cul es la representacin en BCD empaquetado del nmero decimal 1253? Solucin: 1.- 100 11100101 2.- 00000001 00000010 00000101 00000011 3.- 00010010 01010011

Tema 6 - 38

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de nmeros reales


Justificacin

Muchas aplicaciones requieren trabajar con nmeros no enteros (fraccionarios)


Numeros muy pequeos Masa del electrn = 9 10-28 gramos

Nmeros con muchos decimales Nmero = 3.14159 Nmeros muy grandes Nmero de Avogadro = 6.02214199 1023 moleculas/mol
Tema 6 - 39
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Representacin de nmeros reales


Pueden representarse en coma fija

El punto binario estara en algn lugar distinto de la derecha del dgito menos significativo
signo parte entera parte fraccionaria

Ejemplo: - 1101.0101 -23 + 2 2+ 20 + 2 -2 + 2-4 Ventaja


Podemos utilizar los algoritmos ya aplicados en las operaciones aritmticas con nmeros enteros Suma obviando la posicin de la coma multiplicacin con desplazamientos extra

Inconveniente
El rango de nmeros que pueden ser representados es insuficiente

Solucin

Representacin en punto o coma flotante

Tema 6 - 40

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Rango
Suponer que tenemos 32 bits para representar un nmero cuntos enteros pueden representarse en Complemento a 2 ?

[
-2
32-1

]
0 +2
32-1

Observamos que no pueden representarse ni ns muy grandes ni muy pequeos

Veremos que usando la representacin en coma flotante (con el mismo n de bits) podrn representarse nmeros muy grandes y muy pequeos
Tema 6 - 41
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Notacin exponencial
Todo nmero real se puede expresar como
N = m Be
Numero = mantisa base exponente

En esta notacin un mismo nmero puede tener mltiples representaciones


29827,7816 = 29827,7816 100 = 2,98277816 104 = 5 = 0,298277816 10 = 298277816 10-4 = = 29827781600 10 -6 = 29827781.6 10-3 =

Para eliminar esta ambigedad se realiza una normalizacin


El exponente debe ajustarse de forma que el 1 ms significativo de la mantisa binaria quede justo a la izquierda de la coma decimal
0,11 24 0110,01 2-5 0,000101 24 1,1101 2132 normalizado es normalizado es normalizado es Ya est normalizado 1,1 23 1,1001 2-3 1,01 20

Condicin de normalizacin:

1 mantisa < 2

Tema 6 - 42

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Formatos en coma flotante


El formato de un nmero es la cantidad y disposicin de los bits que se utilizan para representarlo La IEEE, en su norma 754, establece los siguientes formatos
Simple precisin (32 bits)
s Caracterstica (8 bits) Fraccin (23 bits)

0 1 2 3

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Doble precisin (64 bits)


s Carac. (11 bits) Fraccin (52 bits)

16

24

32

40

48

56

63

Bit de signo 0 signo positivo 1 signo negativo

La base b = 2 est implcita, por lo que no necesita ser almacenada


Tema 6 - 43

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Caracterstica (8 bits)

Formatos en coma flotante


Fraccin (23 bits)

0 1 2 3

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Mantisa (fraccin)
Slo se utilizan mantisas normalizadas, por lo que se verifica que mantisa = 1 + fraccin = 1,fraccin La parte entera de la mantisa siempre vale uno, y no se almacena (uno implcito) Slo se almacena la parte fraccionaria de la mantisa

Exponente (caracterstica)
Se utiliza la notacin polarizada con sesgo igual a 2n-1-1 Simple precisin 28-1 -1 = 127 Exponente Caracterstica Doble precisin 211-1-1 = 1023 -127 0
-126 +1 +254 +255

Valor Almacenado
0000 0000 0000 0001 1111 1110 1111 1111

(reservada)

Una caracterstica todo ceros o todo unos se aplica a casos particulares

+127 +128

(reservada)

Tema 6 - 44

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Formatos en coma flotante


s Caracterstica (8 bits) Fraccin (23 bits)

0 1 2 3

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

El valor del nmero representado en una palabra de coma flotante ser (-1)s (1 + fraccin) 2caracterstica - polarizacin donde polarizacin es
127 en simple precisin 1.023 en doble precisin

Numerando los bits de la fraccin de izquierda a derecha como f1, f2, f3,...,fn obtenemos

s.p. (-1)s (1 + (f1 2-1) + (f2 2-2) + + (f23 2-23)) 2caracterstica 127 d.p. (-1)s (1 + (f1 2-1) + (f2 2-2) + + (f52 2-52)) 2caracterstica - 1023
Tema 6 - 45
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Formatos IEEE 754 (simple precisin)


1 bit 8 bits 23 bits

0 Signo

1 2 3 4 5 6 7 8 Caracterstica

9 10 11...........................29 30 3 1 Fraccin
Mantisa = 1.fraccin

exponente = caract -127 0+ 1-

as : N representado = (-1)s (1 + fraccin) 2caracterstica -127

Tema 6 - 46

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad


Fraccin (23 bits)

Caracterstica (8 bits)

0 1 2 3

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Ejemplo: Obtener el nmero decimal representado por esta palabra de coma flotante
signo caracterstica fraccin

10000001

0100 0000 0000 0000 0000 000

Signo: 1 el nmero es negativo Caracterstica: 10000001(2 = 129(10 Fraccin: 1 2-2 = 1/4 = 0,25

Utilizando la ecuacin:

(-1)s (1 + fraccin) 2caracterstica - 127

= (-1)1 (1 + 0.25) 2129 - 127 = -1 1.25 22 = -1.25 4= -5.0 Y si lo anterior representase un n entero
(en signo magnitud?

Qu n sera?
Tema 6 - 47

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad


Fraccin (23 bits)

Caracterstica (8 bits)

0 1 2 3

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Cul es la representacin binaria IEEE 754 del nmero 0.1875(10 en simple precisin ?

0.1875 x2 0.3750

0.3750 x2 0.7500

0.7500 x2 1.5000

0.5000 x2 1.0000

0. 0 0 1 1)2 No normalizado Normalizado: 1.1 2 - 3


Caracterstica= -3+127= 124(10 = 01111100 (2
Simple precisin.

01111100
s Caracterstica 1 bit 8 bits

1 0 0 0 0 0..............................0
Fraccin 23 bits
Tema 6 - 48

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Caracterstica (8 bits)

Fraccin (23 bits)

0 1 2 3

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Cul es la representacin binaria IEEE 754 del nmero 0.1)100.1 en precisin simple?

0.1 x2 0.2

0.2 x2 0.4

0.4 x2 0.8

0.8 x2 1.6

0.6 x2 1.2

0.2 x2 0.4

0. 00011001100 ....)2 No normalizado Normalizado: 1.10011001100.... 2 - 4 Caracterstica= -4+127= 123


Simple precisin.

0 1 1 1 1 0 11
s Caracterstica 1 bit 8 bits

1 0 0 1 1 0 0 1 1 0 0 1 1 ..........
Fraccin 23 bits
Tema 6 - 49

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Rango y precisin de representacin


Precisin del formato
Nmero de dgitos significativos de la mantisa

Rango de representacin
Intervalo de nmeros representables Viene determinado por el nmero de bits dedicados a almacenar el exponente

Compromiso entre tamao de la mantisa y el tamao del exponente


Aumentar el tamao de un campo con un slo bit procedente del otro supone modificar de forma importante estos dos parmetros: precisin y rango de representacin

Tema 6 - 50

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Ejercicio de rango de representacin


- ns de 32 bits en C a 2

[
- 2 32-1 0

]
2 32-1 1

- ns de CF en simple precisin
overflow underflow

[
-b

]
-a

[
a
+ 1 x 2 126 = a

]
b

overflow

menor n positivo representable (*): 0 00000001 00000.......00 + 1.0 x 2 1-127 = mayor n positivo representable : 0 11111110 11111........11

+ 1.111...1 x 2255 1-127=

+ (2-2 23 ) x 2 127 = b

(*) el exponente 0..000 y 111111 estn reservados


Tema 6 - 51
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Mantisa 1.11111...1111111 1+ 2 =

+2

+2

+ ..

+ 2

23

2 23 + 2 22 + ... 2 0 ______________________

2 23 = 2 1 ______ 2 23
24 -

= (2-2 23 )

Importante: Con la notacin en coma flotante no estamos representando ms valores individuales. El mximo nmero de valores diferentes que pueden representarse con 32 bits es de 2 32. . Lo que hemos hecho es repartir dichos nmeros de forma diferente

Tema 6 - 52

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Rango y precisin de representacin


Valores extremos representables Coma fija 32 bits min = 0 max -max = 231-1 = -(231-1) 2,15 109 -2,15 109

Simple precisin min max -min -max = 1 2-126 = (2-2-23) 2+127 = -1 2-126 = -(2-2-23) 2+127 1,18 10-38 3,4 10 +38 -1,18 10 -38 -3,4 10+38

Doble precisin min max -min -max = 1 2-1022 = (2-2-52) 2+1023 = -(1) 2-1022 = -(2-2-52) 2+1023 10-308 10+308 -10 -308 -10 +308
Tema 6 - 53

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Redondeo y error de representacin


Una diferencia muy importante entre nmeros en coma flotante y nmeros reales es su densidad
Podemos afirmar que dados dos nmeros reales x e y, siempre existe un z que verifica que

z=(x+y)/2
Los nmeros reales forman un continuo

En cambio, los nmeros en coma flotante no forman un continuo


Entre dos nmeros representables, hay nmeros reales que no van a poder ser representados Se cuenta con una precisin limitada

Si resultado de un clculo no se puede representar exactamente en el formato utilizado, entonces se produce un redondeo, es decir, se utiliza el nmero ms cercano representable Al redondear se produce un error de representacin o de redondeo

Tema 6 - 54

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Formatos extendidos
Para cumplir con el estndar una implementacin debe proporcionar al menos el formato de simple precisin, siendo opcional el de doble precisin Los formatos extendidos proporcionan precisin y rango extra en la representacin de valores intermedios en una secuencia de clculos contribuyendo a reducir el error de redondeo acumulado IEEE 754 slo da un lmite inferior sobre el nmero de bits extra que deben proporcionar los formatos extendidos
Parmetro
N bits formato Precisin N bits exponente expmax expmin

Simple
32 24 8 +127 -126

Simple extendida
43 32 11 -1023 -1022

Doble
64 53 11 +1023 -1022

Doble extendida
79 64 15 -16383 -16382 Tema 6 - 55

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Tratamiento de excepciones
El IEEE especifica cinco tipos de excepciones
1) Divisin por cero El resultado es 2) Desbordamiento (overflow) El resultado es 3) Desbordamiento a cero (underflow) Se permiten nmeros denormalizados, a los que no se aplica el bit implcito, por tanto mantisa = 0,fraccin 4) Inexactitud Cuando el resultado de un operacin se debe redondear 5) Invalidez Cuando el resultado de un operacin no es un nmero vlido Se representa como NaN (Not a Number)

Tema 6 - 56

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Tratamiento de excepciones
s Caracterstica Fraccin

Normalizado

0 < exp < Max


Caracterstica

cualquier patrn de bits


Fraccin

Denormalizado

0
Caracterstica

cualquier patrn de bits distinto de 0


Fraccin

Cero

0
Caracterstica

0
Fraccin

Infinito

111111
Caracterstica

0
Fraccin

NaN

111111

cualquier patrn de bits distinto de 0

Doble precisin Simple precisin Si 0<c<255 Si c=0 y m0 Si c=0 y f=0 Si c=255 y f=0 Si c=255 y f 0 Si 0<c<2047 N=(-1)s[1,f]2c-127 N=(-1)s[0,f]2-126 N=(-1)s0 N=(-1)s N=NaN
1023

N=(-1)s[1,f]2cN=(-1)s[0,f]2-1022 N=(-1)s0 N=(-1)s N=NaN


Tema 6 - 57

Si c=0 y m0 Si c=0 y f= 0 Si c=2047 y f=0 Si c=2047 y f 0

Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha

Representacin de los nmeros en lenguaje C


Tamao (en bits) 8 8 16 16 32 32 32 64 80 0 +255 -128 +127 0 +65.535 -32.768 +32.767 0 +4.294.967.295 -2.147.483.648 2.147.483.647 3,4 10-38 3,4 10+38 1,7 10-308 1,7 10+308 3,4 10-4932 1,1 10+4932

Fundamentos de Informtica 2009-2010 I.T.Industrial. Electricidad

Tipo

Rango

unsigned char char unsigned int int unsigned long long float double long double

Tema 6 - 58

Potrebbero piacerti anche