Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TEMA 1
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
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
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
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
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
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
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
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
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
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
16 14
E5B )
Nota:
Puede pasarse de decimal a binario pasando previamente a hexadecimal. De esta forma es ms rpido
Tema 6 - 10
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
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
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
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
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
Tema 6 - 16
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
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
T A B L A A S C I I
Tema 6 - 20
T A B L A A S C I I
Tema 6 - 21
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha
Tema 6 - 23
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha
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
Signo y magnitud
signo valor
Tema 6 - 26
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
+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
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
Representacin en complemento a 2
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
Representacin en complemento a 2
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
-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
Tema 6 - 33
Departamento de Informtica (Campus de Albacete) Universidad de Castilla La Mancha
Tema 6 - 34
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
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
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
Tema 6 - 38
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
El punto binario estara en algn lugar distinto de la derecha del dgito menos significativo
signo parte entera parte fraccionaria
Inconveniente
El rango de nmeros que pueden ser representados es insuficiente
Solucin
Tema 6 - 40
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
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
Notacin exponencial
Todo nmero real se puede expresar como
N = m Be
Numero = mantisa base exponente
Condicin de normalizacin:
1 mantisa < 2
Tema 6 - 42
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
16
24
32
40
48
56
63
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
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)
+127 +128
(reservada)
Tema 6 - 44
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
0 Signo
1 2 3 4 5 6 7 8 Caracterstica
9 10 11...........................29 30 3 1 Fraccin
Mantisa = 1.fraccin
Tema 6 - 46
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
Signo: 1 el nmero es negativo Caracterstica: 10000001(2 = 129(10 Fraccin: 1 2-2 = 1/4 = 0,25
Utilizando la ecuacin:
= (-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
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
01111100
s Caracterstica 1 bit 8 bits
1 0 0 0 0 0..............................0
Fraccin 23 bits
Tema 6 - 48
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.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 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
Rango de representacin
Intervalo de nmeros representables Viene determinado por el nmero de bits dedicados a almacenar el exponente
Tema 6 - 50
[
- 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
+ (2-2 23 ) x 2 127 = b
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
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
z=(x+y)/2
Los nmeros reales forman un continuo
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
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
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
Tratamiento de excepciones
s Caracterstica Fraccin
Normalizado
Denormalizado
0
Caracterstica
Cero
0
Caracterstica
0
Fraccin
Infinito
111111
Caracterstica
0
Fraccin
NaN
111111
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
Tipo
Rango
unsigned char char unsigned int int unsigned long long float double long double
Tema 6 - 58