You are on page 1of 63

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11

Módulo 1.
Fundamentos de
Computadores
Informática y Programación
Escuela de Ingenierías Industriales y Civiles
Grado en Ingeniería Química
Curso 2010/2011 1
CONTENIDO

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


• Tema 1. Introducción y conceptos básicos
• Tema 2. Representación de la información
• Tema 3. Hardware
• Tema 4. Software. Paquetes software aplicados a
ingeniería

2
Introducción

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Recordemos nuevamente la definición de ordenador:

“Computadora, computador u ordenador es una máquina capaz de aceptar unos


datos de entrada, efectuar con ellos operaciones lógicas y aritméticas, y proporcionar
la información resultante a través de un medio de salida; todo ello sin intervención de
un operador humano y bajo el control de un programa de instrucciones previamente
almacenado en la propia computadora.”

Recordemos también el concepto de dato

Los datos son conjuntos de símbolos utilizados para expresar o representar un valor
numérico, un hecho, un objeto o una idea; en la forma adecuada para ser objeto de
tratamiento.

3
Introducción

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Los ordenadores aparecieron en primer lugar como máquinas para realizar
cálculos (del latín calculus, que significa contar con piedras), para dicha tarea los humanos
empleamos el sistema decimal que hace uso de diez símbolos.

¿Por qué el sistema decimal?


Contando con los diez dedos:

• La tecnología electrónica que utilizan los ordenadores sólo permite


distinguir dos estados diferentes: encendido y apagado.

• El sistema de numeración de dos estados o valores se denomina 4


binario, y los dos dígitos que emplea son el 0 y el 1. Siendo el bit
(binari digit) la unidad de información más elemental.
Introducción

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


La información en los ordenadores se almacena y procesa haciendo uso de la
codificación basada en el sistema de numeración binario.

Tanto en la entrada como en la salida de datos, se efectúan las


transformaciones de código oportunas, codificación y decodificación
respectivamente, para que la información sea comprendida por el usuario.

Codificación: transformación de elementos de un conjunto en elementos de


otro conjunto siguiendo un método determinado, de tal forma que
posteriormente se pueda efectuar el proceso inverso de decodificación

5
Introducción

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Los ordenadores realizan las operaciones con información representada en
forma digital, es decir que tienen valores discretos. Durante muchos años, las
aplicaciones de la electrónica digital se limitaba a los sistemas informáticos. Hoy
en día, la tecnología digital tiene aplicación en prácticamente todas las áreas.

La información antes de ser procesada por un ordenador debe codificarse en


términos comprensibles para la máquina, es decir, debe convertirse al formato
binario, para obtener su código (un grupo de bits) correspondiente.

Los códigos permiten representar:


- números
- símbolos
- caracteres alfanuméricos
- instrucciones
- cualquier otro tipo de información 6
Introducción

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Por homogeneidad se utiliza un número fijo de bits para representar.

Un byte es el número de bits necesarios para almacenar un carácter, y en


general se asume que son 8 bits.

La cantidad de memoria de un ordenador o de un dispositivo de


almacenamiento se describe empleando múltiplos de 8.

• 1 Kilobyte (KB) = 210 Bytes = 1024 Bytes ≈ 103 bytes


• 1 Megabyte (MB) = 220 Bytes = 1024 Kilobytes ≈ 106 bytes
• 1 Gigabyte (GB) = 230 Bytes = 1024 Megabytes ≈ 109 bytes
• 1 Terabyte (TB) = 240 Bytes = 1024 Gigabytes ≈ 1012 bytes
• 1 Petabyte (PB) = 250 Bytes = 1024 Terabytes ≈ 1015 bytes
• Exabyte, Zettabyte, Yottabyte

En el sistema métrico decimal un Kilómetro se corresponde con 1000 metros, se


utiliza la potencia de 2 más próxima a esa cantidad. 7
Sistemas de numeración

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Todos estamos familiarizados con el sistema de numeración decimal:

• Lo utilizamos cotidianamente.
• Es un sistema de representación posicional, en concreto un sistema de
numeración de base 10

Un sistema de numeración en base b se caracteriza por:

• Disponer de un alfabeto con b símbolos o cifras. En el sistema de base 10


disponemos de 10 símbolos o cifras: S10={0,1,2,3,4,5,6,7,8,9}
• Todo número se expresa empleando un conjunto de dichas cifras donde el
valor de cada cifra depende:
• De sí misma, y
• De la posición que ocupa
• Por ejemplo en el sistema de base 10 no representan el mismo número 986 8
que 869 aún cuando los símbolos utilizados son los mismos.
Sistemas de numeración

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


• Ocurre en el caso general que la interpretación de una cifra, c, es
igual a una potencia de la base, b, en función de la posición. Para 986
y 869 se observa que no son iguales

986 = 9 * 102 + 8 * 101 + 6 * 100


869 = 8 * 102 + 6 * 101 + 9 * 100

• La regla se extiende para números no enteros

986,21 = 9 * 102 + 8 * 101 + 6 * 100 + 2 * 10-1 + 1 * 10-2

9
Sistemas de numeración: binario

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Un ordenador utiliza en sistema binario natural, binario o de base 2, que consta
de dos símbolos S2={0,1}

Ejemplo: Para codificar 4 símbolos, necesitamos 2 bits.

Símbolo a codificar Código binario


0 00
1 01
2 10
3 11

¿Cuántos bits son necesarios para codificar m símbolos?


n bits, de modo que 2n ≥m; n>=log2 número de caracteres

para 4 símbolos necesitamos 22 2 bits


para 256 símbolos necesitamos 28 8 bits
para 257 símbolos necesitamos 29 9 bits 10
para 512 símbolos necesitamos 210 10 bits
Sistemas de numeración: binario

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


La conversión de binario a decimal es sencilla siguiendo la regla vista
anteriormente para el sistema decimal, es decir, multiplicamos la cifra por la
potencia de la base en función de la posición de dicha cifra

01101)2 = 1 * 23 + 1 * 22 + 1 * 20 = 13)10

010101,011)2 = 1 * 24 + 1 * 22 + 1 * 20 + 1 * 2-2 + 1 * 2-3 =


21 + 1/22 + 1/23 = 21 + 0,25 + 0,125 = 21,375)10

11
Sistemas de numeración: binario

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Para la conversión de decimal a binario debemos tratar por separado la parte
entera (método de las divisiones) y la parte fraccionaria (método de las
multiplicaciones)
• El equivalente binario a la parte entera se obtiene dividiendo por 2 y
tomando los sucesivos restos y el último cociente. El último cociente se
corresponde al bit más significativo (MSB), y el primer resto al menos
significativo (LSB)

116 2
13 2
0 58 2
1 6 2 0 29 2
0 3 2 1 14 2
1 1 0 7 2
1 3 2
1 1
12
13)10 = 1101)2
116)10 = 1110100)2
Sistemas de numeración: binario

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


• La parte fraccionaria del número binario se obtiene multiplicando por dos
sucesivamente, si no resulta nulo, la parte fraccionaria del número decimal.
El número binario se forma con las partes enteras que se van obteniendo.
Puede dar lugar a un número largo o incluso infinito de cifras binarias, por lo
que si el número de bits para la parte fraccionaria estuviera limitado podría
existir error de truncamiento.
0,1875)10
0,1875 0,375 0,75 0,5
x2 x2 x2 x2
0,3750 0,750 1,50 1,0

0,1875)10 = 0,0011)2

De esta forma para un número con parte entera (supongamos 116 de la transparencia
anterior) y fraccionaria
13

116,1875)10 = 1110100,0011)2
Sistemas de numeración: binario

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Ejercicios
• Binario a decimal
• 11001
• 01110
• 100111
• 0,10010
• 101101,11
• 110101001
• 10101,001
• Decimal a binario
• 869
• 34,1875
• 7463
• 142,34
14
Sistemas de numeración: octal, hexadecimal

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


El ordenador hace además uso de Decimal Binario Hexadecimal Octal
otros dos códigos, empleados como
0 0 0 0
intermedios
1 1 1 1
2 10 2 2
• Hexadecimal, código de base 16 3 11 3 3
4 100 4 4
5 101 5 5
S16={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
6 110 6 6
7 111 7 7
• Octal, código de base 8 8 1000 8 10
9 1001 9 11

S8={0,1,2,3,4,5,6,7} 10 1010 A 12
11 1011 B 13
12 1100 C 14
13 1101 D 15
14 1110 E 16
15 1111 F 17 15
Sistemas de numeración: octal

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Para la conversión de octal (Base octal S8={0,1,2,3,4,5,6,7}) a decimal puede
emplearse una técnica análoga a los números en base diez (métodos divisiones
y multiplicaciones).

• Conversión de octal a decimal


Número: 432)8
Valor: 4 * 82 + 3 * 81 + 2 * 80 = 282)10

• Conversión de decimal a octal, métodos de las divisiones, (y nos quedamos con los
restos) y multiplicaciones (nos quedamos con la parte entera) con divisor y
multiplicador 8
Número: 234,1285)10
Valor: 352,10162540…)8
16
Sistemas de numeración: octal

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Sin embargo es más sencillo aplicar un esquema Binario Octal
aprovechando que la base es potencia de 2, b=8=23 000 0

• Conversión de binario a octal: Cada cifra octal se 001 1

corresponde con un grupo de tres cifras binarias, y a la 010 2

inversa cada grupo de tres cifras binarias se corresponde 011 3

con un cifra octal. Podemos agrupar de 3 en 3 y 100 4

transformar mediante tabla de conversión. 101 5


110 6
111 7
10100101,1101)2
010 100 101 , 110 100)2
2 4 5 , 6 4)8

• Conversión de octal a binario, utilizar tabla de conversión


para cada cifra de forma similar
17
Número: 3245,765)8
Valor: 011010100101,111110101)2
Sistemas de numeración: hexadecimal

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Para las conversiones entre hexadecimal (Base Decimal Hexadecimal
hexadecimal S16={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}): 0 0

1 1

2 2
• Conversión de hexadecimal a decimal, sumar los pesos
(2n) de las posiciones en las que hay un 1. 3 3

4 4
Número: 857A)16
5 5
Valor: 8*163 + 5*162 + 7*161 + A*160 = 34170)10 6 6

7 7

8 8
• Conversión de decimal a hexadecimal, métodos de las
9 9
divisiones y multiplicaciones con divisor y multiplicador 16
10 A
Número: 234)10 Valor: EA)16 11 B

12 C

13 D

14 E
18
15 F
Sistemas de numeración: hexadecimal

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Para las conversiones del sistema hexadecimal Binario Hexadecimal
(S16={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}) a binario 0000 0
0001 1
• De nuevo es más sencillo aplicar un esquema 0010 2
aprovechando que la base es potencia de 2, 0011 3
b=16=24 0100 4
• Cada cifra hexadecimal se corresponde con un 0101 5
grupo de cuatro cifras binarias, y a la inversa 0110 6
cada grupo de cuatro cifras binarias se 0111 7
corresponde con un cifra hexadecimal. 1000 8
Podemos emplear la tabla en ambos sentidos.
1001 9
1010 A
1011 B
10100101,1101)2
1100 C
1101 D
1010 0101 , 1101)2
1110 E
1111 F
A 5 , D)16 19
Sistemas de numeración: octal, hexadecimal

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Observando la tabla, puedes buscar reglas de
formación que te eviten depender de memorizar: Decimal Octal
0 000
• La columna más a la derecha alterna ceros y 1 001
unos.
2 010
•La inmediatamente a su izquierda, la segunda, 3 011
alterna de dos en dos.
4 100
5 101
•La tercera de cuatro en cuatro (22)
6 110
•La cuarta (para el código hexadecimal) de ocho 7 111
en ocho (23)

20
Sistemas de numeración: octal, hexadecimal

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Para convertir entre octal y hexadecimal:

• Conversión de hexadecimal a octal, se convierte cada cifra del número a binario


y luego se transforma a octal agrupando las cifras de 3 en 3 mediante tabla de
conversión
Número: AF,16C16)  en binario 1010 1111,0001 0110 1100)2
Agrupamos de 3 en 3: 010 101 111,000 101 101 100
Valor: 257,0554)8

• Conversión de octal a hexadecimal, se utiliza también la transformación


intermedia en base 2.
Número: 257,0554)8  en binario 010 101 111,000 101 101 100)2
Agrupamos de 4 en 4: 1010 1111,0001 0110 1100 21
Valor: AF,16C)16
Sistemas de numeración: octal, hexadecimal

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Ejercicios
• Octal a binario
• 2067
• 14267
• Hexadecimal a binario
• 2D5E
• Octal a decimal
• 3261
• Hexadecimal a decimal
• A912,C
• Binario a octal y hexadecimal
• 11001
• 110101001
• Convierte a las otras bases
• 1010110101)2 y 10101,11001)2
• 376,765)10
• 5AC3)16 y F743)16 22
• 0523)8 y 6455)8
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Operaciones aritméticas en código binario. Las tablas de sumar y restar son:

a b a+b
0 0 0 110101
+101001
0 1 1
1011110
1 0 1
1 1 0 y me llevo 1

a b a-b
0 0 0 110101
-101001
0 1 1 y debo 1
001100
1 0 1
1 1 0

23
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Cuando la suma de dos dígitos excede los símbolos numéricos disponibles en la
notación, se lleva un 1 (acarreo) a la posición de dígito inmediatamente
superior.

1 1 1 1
1010 101010 00111001 = 57
+101 +001001 +00100011 = 53
1111 110011 01011100 = 92

11 1 11 1
1111 10111000 = 184)10
+111 +00111011 = 59)10
10110 11110011 = 243)10

24
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Para realizar la resta se puede utilizar la tabla de la suma contando hacia atrás
(descontando). Cuando la resta de dos dígitos excede (por debajo) los símbolos
numéricos disponibles en la notación, se realiza un pedido o deuda de 1 a la
posición de dígito inmediatamente superior.

1 1 11
110101 1100011
-101001 -101001
001100 0111010

25
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Otra técnica eficiente para realizar sustracciones consiste en sumar al minuendo
el complemento a 1 del sustraendo.
El complemento a 1 de un número N, es el número que resulta de restar cada
una de las cifras de N a la base menos uno del sistema de numeración que se
esté utilizando. Es equivalente a intercambiar unos y ceros, así el complemento
a 1 de 1011 es 0100.
Podemos restar dos números sumando al minuendo el complemento a 1 del
sustraendo.
Si hubiera una cifra que se arrastra del resultado se descarta y se sumaría al
resultado así obtenido.

26
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Veamos un ejemplo:
minuendo
1. Si la cantidad de dígitos del sustraendo es menor 100011.101
que la del minuendo, se completa el sustraendo -10101.000
sustraendo
con ceros a la izquierda de la parte entera, y a la
derecha de la parte decimal (encolumnar por la
coma)
111111.111
2. Se halla el complemento del sustraendo, -010101.000
restando este valor del máximo valor binario con 101010.111 complemento
la misma longitud del minuendo, cambiar 0 por 1
y 1 por 0. 100011.101
3. Se suma el minuendo al complemento del +101010.111
sustraendo 1)001110.100

4. Se elimina el 1, acarreo, de la izquierda y se suma 001110.100


con el dígito más a la derecha del resultado, sin + 1 27
importar la coma decimal. 001110.101 resultado
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


• Las comprobaciones pueden realizarse 100011.101 = 35.625)10
convirtiendo a decimal las cifras del minuendo -10101.000 = 21)10
y del sustraendo y realizando la resta. 1110.101 = 14.625)10

• Otro modo de controlar el resultado es sumar


el resultado al sustraendo, debiendo obtenerse 1110.101
el minuendo +10101.000
100011.101

28
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Las tablas de multiplicar y dividir en binario

a b axb 110101
x 10
0 0 0
000000
0 1 0
110101
1 0 0
1101010
1 1 1

110101 101
a b a/b - 101 1010,1…
0 0 indeterminado 00110
0 1 0
- 101
1 0 infinito
00110 29
1 1 1
- 0101
0001 …
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Operaciones aritméticas en código octal: Tabla de sumar.

+ 0 1 2 3 4 5 6 7
0 0 1 2 3 4 5 6 7
1 1 2 3 4 5 6 7 10
2 2 3 4 5 6 7 10 11
3 3 4 5 6 7 10 11 12
4 4 5 6 7 10 11 12 13
5 5 6 7 10 11 12 13 14
6 6 7 10 11 12 13 14 15
7 7 10 11 12 13 14 15 16

1 1
30
4 1 6 3
+ 7 5 2 0
1 3 7 0 3
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Operaciones aritméticas en código hexadecimal: Tabla de sumar.

+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 1 2 3 4 5 6 7 8 9 A B C D E F
1 1 2 3 4 5 6 7 8 9 A B C D E F 10
2 2 3 4 5 6 7 8 9 A B C D E F 10 11
3 3 4 5 6 7 8 9 A B C D E F 10 11 12
4 4 5 6 7 8 9 A B C D E F 10 11 12 13
5 5 6 7 8 9 A B C D E F 10 11 12 13 14
6 6 7 8 9 A B C D E F 10 11 12 13 14 15
7 7 8 9 A B C D E F 10 11 12 13 14 15 16
8 8 9 A B C D E F 10 11 12 13 14 15 16 17
9 9 A B C D E F 10 11 12 13 14 15 16 17 18
A A B C D E F 10 11 12 13 14 15 16 17 18 19
B B C D E F 10 11 12 13 14 15 16 17 18 19 1A
C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B
D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C
E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D
F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E

11 1 11

6AE 9654 = 38484 8F97.F00 31


+1FA +4528 = 17704 +D44C.F9E
8A8 DB7C = 56188 163E4.E9E
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Suma en código octal y hexadecimal.

Una manera sencilla de realizar la suma en octal y hexadecimal es usando el


método del reloj. Consiste en ordenar todos los símbolos en un círculo, de
menor a mayor como en un reloj. Para realizar la suma se procede de la
siguiente manera:

1. Posicionarse en el lugar correspondiente al primer sumando.


2. Desplazarse en el sentido de las agujas del reloj, avanzando tantas posiciones
como lo indique el segundo sumando.
3. El resultado de la suma será la última posición a la que se llegue.
4. Cuando al sumar se supere el valor del último dígito del sistema de numeración,
se produce un acarreo y debe añadirse una unidad a la posición inmediata
superior.
32
Suma en código hexadecimal.
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


33
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


6204,02 Minuendo
La resta en código octal (en hexadecimal es análoga) - 5173 Sustraendo
podemos aplicar la técnica del complemento
1. Si la cantidad de dígitos del sustraendo es menor que la
del minuendo, se completa el sustraendo con ceros a la
izquierda de la parte entera, y a la derecha de la parte
decimal (encolumnar por la coma)
2. Se halla el complemento del sustraendo, restando este
valor del máximo valor octal con la misma longitud del 7777,77
minuendo - 5173,00
2604,77 Complemento
3. Se suma el minuendo al complemento del sustraendo
4. Se elimina el posible acarreo de la izquierda, 6204,02
sumándose al dígito más a la derecha, sin importar la + 2604,77
coma decimal. 11011,01
+ 1
1011,02 resultado
34
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


La resta hexadecimal sigue las mismas reglas que la resta decimal y binaria, con
la salvedad que un pedido de 1 en la notación hexadecimal representa el
número decimal 16.

Usando el método del reloj se procede de la siguiente manera:


1. Posicionarse en el símbolo correspondiente al minuendo
2. Desplazarse en el sentido contrario a las agujas del reloj la cantidad de veces
indicada por el sustraendo.
3. El resultado de la resta será la última posición a la que se llegue.
4. Cuando al restar se llega a un valor inferior a 0, se realiza un pedido y se debe
restar una unidad a la posición inmediata superior.

35
Resta en código hexadecimal.
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


36
Sistemas de numeración: aritmética

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Ejercicios
• Operaciones aritméticas
• 1110101)2 + 1010010)2
• 1110101)2 - 1010010)2
• 1110101)2 * 101)2
• 1110101)2 / 10)2
• 456)8 + 22)8
• 98)16 + 7)16
• 76)8 – 32)8
• 22)10 + 1001)2 + 32)8 + FF)16
• El complemento a 1 del número binario es: 0101 0111 1011. ¿Cuál es el
número expresado en hexadecimal?
• Convierte los números 239)10 y 37)10 a código binario, octal y 37
hexadecimal. Posteriormente realiza la suma y la resta de los mismos en
código binario.
Representación de datos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Conocidos los internos códigos que emplea un ordenador, es interesante
describir el modo en que distintas entidades u objetos se codifican empleando
dichos códigos. Las entidades que consideraremos brevemente serán:

Texto o Alfanuméricos Valores numéricos


ASCII BCD
Unicode Coma fija
Decimal desempaquetado
Decimal empaquetado
Sonidos Binario puro
Signo y módulo
Imágenes Complemento a uno
Mapa de bits Complemento a dos
Vectorial Coma flotante 38
Representación de datos: alfanuméricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Los principales caracteres alfanuméricos utilizados son:

• Alfabéticos: A, B, C, D, E,..., X ,Y, Z, a, b, c, d,..., x, y, z


• Numéricos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
• Especiales: ) ( , * / ; : + Ñ ñ = ! ? . " & > # < ] Ç [ SP
• De control: Por ejemplo el fin de línea
• Gráficos: ♣♦♥♠αβ⌠⌡∑

Los códigos de texto son la traducción de estos caracteres a conjuntos de bits. El


número de bits necesario, n siendo un valor entero, depende del número de
caracteres distintos que se desea se puedan representar.

Con dos bits podemos representar 4 caracteres, con 8 256, etc.


n>=log2 número de caracteres 39
Representación de datos: alfanuméricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


El código más frecuente utiliza 7 bits y se conoce como ASCII (AmericanS
tandard Code for Information Interchange).

El código ASCII surgió originalmente como estandarización en 7 bits de varias


codificaciones especiales y luego se extendió a una codificación de 8 bits. Se usa
especialmente para la transmisión de datos y ha sido adoptado actualmente
por la gran mayoría de los fabricantes de teclados. Utiliza únicamente 7 bits
para la representación de los datos y están almacenados justificados por la
derecha dentro de un campo estándar de 8 bits. El octavo bit se utiliza para la
paridad de los anteriores.

Unicode (16 bits): Moderno, desarrollado como estándar. Es una ampliación del
código ASCII de 8 bits para poder codificar distintos juegos de caracteres (latino,
griego, árabe, kanji, cirílico, etc…)
40
Representación de datos: alfanuméricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Existen ampliaciones para incorporar caracteres de distintas lenguas.
Pero no son suficientes para considerar también caracteres no latinos, por ello
ha surgido Unicode que con 16 bits representa 65536 caracteres.

41
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Valores numéricos reales

• Los valores numéricos se transmiten a través de las unidades E/S como


alfanuméricos.
• La representación alfanumérica no es válida para operar.
• Antes de operar se transforman a su correspondiente valor en base 2
• Hay muchas maneras de representar datos numéricos en forma binaria.
Directamente el número en base 2, denominada representación binaria
directa.
• Otras codificaciones: BCD, coma fija, coma flotante

42
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


BCD: Codifica los números decimales dígito a dígito. A Binario BCD

esta codificación, que requiere 4 bits por cada dígito 0000 0


decimal, se le llama codificación BCD (Binary Coded 0001 1
Decimal). 0010 2

0011 3
Se usa codificación ponderada, en la cual, se le dan a
0100 4
los bits, de izquierda a derecha, los pesos 8-4-2-1,
respectivamente. Como estos pesos son precisamente 0101 5

los valores de posición en el sistema binario, un dígito 0110 6


decimal está codificado como su representación 0111 7
binaria, según la tabla. 1000 8

1001 9
Ejemplo: El número 469)10
0100 0110 1001  BCD 111010101)2  Binaria directa
4 6 9 (3 bits menos) 43
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Coma Fija: La computadora dispone de un número finito de bits (llamado
palabra) para la representación interna de los datos, lo que hace que los
números reales sufran un determinado truncamiento en su parte decimal. El
tamaño de la palabra depende del ordenador que se utilice y se corresponde
con la cantidad de bits que es capaz de transferir en una operación de E/S.
• La representación en coma fija recibe su nombre de la posición en que se
supone situado el punto decimal, que es una posición fija. Actualmente esta
representación se utiliza sólo para números enteros suponiendo que la
coma decimal fija figura implícitamente a la derecha de los dígitos.
• Existen tres formas de representar números en coma fija.
• Decimal desempaquetado,
• decimal empaquetado, y
• binario puro. 44
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Decimal desempaquetado: Un número se almacena con un byte para cada
cifra. Cada byte lleva en su cuarteto de la izquierda (denominado bits de zona)
cuatro unos (F en hexadecimal) y en el de la derecha (bits de dígitos) la cifra en
BCD. El cuarteto de la izquierda de la última cifra representa el signo,
conteniendo 1100 (C en hexadecimal) para el (+), y 1101 (D en hexadecimal)
para el (-).

Ejemplo: 1992)10 1111 0001 1111 1001 1111 1001 1100 0010
F1 F9 F9 C2
- 1992)10 1111 0001 1111 1001 1111 1001 1101 0010
F1 F9 F9 D2

45
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Decimal empaquetado: En este sistema se representa cada dígito en un
cuarteto (sin bits de zona), salvo el primero por la derecha, que lleva el signo
con los mismos valores que antes, conteniendo 1100 (C en hexadecimal) para el
(+), y 1101 (D en hexadecimal) para el (-).

Ejemplo: 199210) 0000 0001 1001 1001 0010 1100


0 1 9 9 2 C
-199210) 0000 0001 1001 1001 0010 1101
0 1 9 9 2 D

46
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Binario puro: El número se representa en una palabra, utilizando el bit de más a
la izquierda para representar el signo (0 para el + y 1 para el -). Para los números
positivos, el resto de los bits (N-1) representan el módulo del número. El rango
de representación, para N dígitos es de:

• -2N-1 + 1 ≤ X ≤ 2N-1 – 1
• Excepto en el Complemento a dos que es de:
• -2N-1 ≤ X ≤ 2N-1 – 1
• Los números negativos varían en su representación según los 3 métodos
siguientes
• Módulo y signo (MS)
• Complemento a uno (C1)
• Complemento a dos (C2) 47
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Módulo y signo (MS): El resto de los (N-1) bits representan el módulo del
número, tanto de los positivos como de los negativos.
Ejemplo: 10)10 0 0001010 -10)10 1 0001010
+ módulo - módulo

Complemento a uno (C1): El negativo de un número se obtiene


complementando todos sus dígitos (cambiando ceros por unos y viceversa)
incluido el bit de signo.
Ejemplo: 10)10 0 0001010 -10)10 1 1110101
+ módulo - módulo
48
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Complemento a dos (C2): El negativo de un número se obtiene en dos pasos:
1. Se complementa el número positivo en todos sus bits incluido el bit de signo
(se realiza el C1 del número)
2. Al resultado obtenido en el paso anterior se le suma 1 (en binario)
despreciando el último acarreo, si existe

Ejemplo: 10)10 0 0001010 -10)10 1 1110101  C1


+ módulo + 1
1 1110110
Su principal inconveniente es el rango de representación asimétrico.

49
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Coma Flotante: Para representar dentro de los ordenadores números muy
grandes o muy pequeños, se usa la notación científica o exponencial
matemática:
Número = mantisa · Base exponente

En notación científica estándar, los números en base 10 se expresan en la forma


N = ± m ·B± e = ± m · 10± e

Ejemplos: -246,36 =-2,4636 · B+2 = -2,4636 · 102


82000000000 = 8,2 · B+10 = 8,2 · 1010
0,00003 = 3,0 · B-5 = 3 · 10-5

50
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


En notación exponencial, un número tiene infinitas representaciones, ya que
siempre es posible correr k lugares la coma a la izquierda (o derecha),
simultáneamente se incrementa (o decrementa) el exponente en un valor k, sin
que cambie el valor del número representado.

13257.3285 = 13257.3285·100 = 1.32573285·104= 0.132573285·105= 132573285·10-4=


13257328500·10-6= …

Se toma como estándar la representación denominada normalizada, que


consiste en que la mantisa no tiene parte entera y el primer dígito a la derecha
del punto decimal es significativo (distinto de cero), salvo en la representación
del número 0.

728.3 = 7283 · 10-1 = 728.3 · 100 = 72.83 · 101 =


7.283 · 102 = 0.7283 · 103  notación normalizada 51
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Existen muchas formas de representación en coma flotante, según la longitud
de la palabra del ordenador, el número de dígitos reservados para la mantisa y
el exponente (MS, C1 ó C2), etc.

La representación en coma flotante la determina el fabricante, siendo la


definición más utilizada la normalización IEEE 754

Esta representación asume la base 2, B=2, siendo necesario almacenar sólo el


signo (1 bit), la mantisa m (nm bits) y el exponente o E (ne bits)

N = ±m · 2E

52
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Estos bits se reparten en los disponibles para representar el número. La
precisión simple (hay doble) asume 32 bits, 1 bit de signo, 8 de exponente
(exponente desplazado 127) y el resto, 23 bits, de mantisa.

Para simple/doble precisión (ordenador con 32/64 bits = 4/8 bytes)


• primeros 23/52 bits  mantisa normalizada
• Bits del 23 al 30/52 al 62  exponente desplazado
• Bit 31/63 para el signo (0 positivo, 1 negativo)
• Base 2
• El 0 se representa con todos los bits a 0 53
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


• El bit de signo, s en la figura, es 0 para valores positivos y 1 para los negativos
• El exponente, e en la figura, no tiene bit de signo, pero para permitir
exponentes positivos y negativos, se almacena desplazado (p.e. en precisión
simple, donde donde ne=8, se le suma siempre 2ne-1 -1 = 127) de tal forma
que no sea necesario un bit de signo. Para obtener el exponente real, E,
basta con restarle el valor de desplazamiento
e=S+E= 2ne-1 -1 + E => E = e – (2ne-1 -1)

• El exponente se ajusta de modo que sólo exista una cifra no nula a la


izquierda de la coma, y que sea 1 (para representar el 0 todos los bits de e y
m son 0)

N = 1101.01 = 1.10101·23 m ←10101 e ←11

• Los números con decimales suelen requerir redondeo al no ser


representables en general con un número finito de bits

54
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Representa 67,25 con la normalización IEEE 754 en precisión simple

Transformemos primero a binario de forma separada la parte real y la fraccionaria

67 2
1 33 2
1 16 2 0,25 0, 5
0 8 2 x2 x2
0 4 2
0, 50 1, 0
0 2 2
0 1

67,25)10 = 1000011,01)2
55
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Representa 67,25 con la normalización IEEE 754 en precisión simple (cont.)

Sabemos que el número binario es 1000011,01)2

Desplazamos la coma hasta tener sólo una cifra a su izquierda

N = 1000011,01 = 1,00001101 ·26

La normalización IEEE 754 con precisión simple utiliza 32 bits, siendo 1


bit de signo, 8 de exponente y 23 de mantisa.

s=0
m = 00001101000000000000000
56
e = 2ne-1-1+E = 27-1+6 = 133 = 10000101
Representación de datos: valores numéricos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Ejercicios
• La representación de un número entero en el interior de un computador
en código BCD es 1001 0111. ¿Cuál es su valor decimal?
• Representar los números reales en el formato IEEE 754
• 126,12)10
• 564,17)10

57
Representación de datos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Sonido
•La señal analógica se capta por medio de un micrófono.
•Tras ajustarla a un rango se digitaliza realizando un muestreo a determinada
frecuencia.
•Por ejemplo a 20Hz tomaría muestras o medidas 20 veces por segundo.
•La frecuencia de muestreo es importante de cara a registrar correctamente ondas
sonoras de determinada frecuencia.
•Cada muestra se corresponde a un número de bits, que caracterizan la precisión de
la digitalización, es decir, el rango de valores disponibles para representar el valor
medido en un instante.

58
Representación de datos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Imágenes

Hay dos esquemas principales para la representación de imágenes en un


ordenador:
• Mapas de bits: Se considera la imagen dividida en una rejilla rectangular de
celdas que se conocen como píxeles (formatos jpeg, bmp, gif, etc.).

• Vectoriales: se describe como una colección de objetos o primitivas tales como


líneas, polígonos y textos con sus respectivos atributos o detalles. (formato p.e.
CorelDraw)

59
Representación de datos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Mapas de bits
• Dividida en una rejilla rectangular de píxeles.
• Cada píxel representa un valor discreto correspondiente a una señal analógica
registrada por el periférico.
• Se almacena en memoria de forma sucesiva empleando un número de bits para
representar el valor de cada píxel.
• Su calidad depende de la resolución (número de píxeles de la imagen) y del número
de bits por píxel.

60
Representación de datos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Mapas de bits

La digitalización de una señal analógica provoca pérdida de información, sin


embargo consideramos un sistema digital como muy preciso ¿por qué?. Digital
versus analógico (RGB o 24 bits, 6, 4 y 3 bits)

61
Representación de datos

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


Vectorial

• Descrita como una colección de objetos tales como líneas, polígonos y


textos con atributos o detalles (grosor, color, etc.) modelables por
medio de vectores y ecuaciones matemáticas que determinan tanto su
forma como su posición dentro de la imagen.
• Para visualizar una imagen, un programa evalúa las ecuaciones y escala
los vectores generando la imagen concreta a ver.
• Ocupan poco espacio
• Sólo adecuadas para dibujos geométricos

62
Bibliografía

Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11


• Fundamentos de Informática y Programación para Ingeniería. Ejercicios
Resueltos para C y Matlab. Modesto Castrillón et al, Paraninfo, 2011.

• Capítulo 3 de Introducción a la informática, A. Prieto Espinosa, A. Lloris Ruiz,


J.C. Torres Cantero, McGraw-Hill, Madrid (1989)

• El codi digital (El código digital - Digital code)

63