2. 2
Información e Informática
Un computador es una máquina que procesa
información.
La ejecución de un programa implica el tratamiento
de los datos.
Para que el computador ejecute un programa es
necesario darles dos tipos de información:
las instrucciones que forman el programa y
los datos con los que debe operar ese programa.
Los aspectos más importantes de la Informática
relacionados con la información son:
cómo <representarla> y
cómo <materializarla> o <registrarla> físicamente.
3. 3
Cómo se da la información a un computador?
Se la da en la forma usual escrita que utilizan los seres
humanos;
con ayuda de un alfabeto o conjunto de símbolos, denominados
caracteres.
Categorías de los caracteres:
Caracteres alfabéticos: son los mayúsculas y minúsculas del
abecedario inglés:
A, B, C, D, E,…, X, Y, Z, a, b, c, d,…, x, y, z
Caracteres numéricos: están constituidos por las diez cifras
decimales:
Ø, 1, 2, 3, 4, 5, 6, 7, 8, 9
El cero suele marcarse con una raya inclinada (ø) para evitar posibles
confusiones con la O mayúscula.
4. 4
Cont…
Caracteres especiales: son los símbolos no incluidos en
los grupos anteriores, entre otros los siguientes:
) ( , * / ; : Ñ ñ = ! ? . ‘’ & > # < { Ç } SP
Con SP representamos el carácter o espacio en blanco, tal
como el que separa dos palabras.
Carácter de control: representan órdenes de control,
como el carácter indicador de fin de línea o el carácter
indicador de sincronización de una transmisión de que se
emita un pitido en un terminal, etc.
Muchos de estos son generados e insertados por el propio
computador.
Caracteres Gráficos: son símbolos o módulos con los que
se pueden representar figuras (o iconos) elementales.
5. 5
Cont…
Toda comunicación con un computador convencional se
realiza según los caracteres que admitan sus dispositivos
de E / S.
Toda instrucción o dato se representará por un conjunto
de caracteres tomados del alfabeto definido en el
sistema a utilizar.
El diseño de un sistema informático resulta mas fácil, su
realización menos compleja y su funcionamiento muy
fiable, si se utilizan solo dos valores o estados posibles.
Estos valores conceptualmente se representan por
cero (0) y apagada y 0 voltios y
uno (1) encendida 3.5 voltios
etc. (BIT)
101
101
0110
010
01
0
0101
0
0110
0110
01
6. 6
Codificación de la Información
Codificación es una transformación 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:
código de provincia en las matrículas de los coches;
código de enfermedades definido por la Organización Mundial de la
Salud (OMS)
número de cedula de identidad
Los códigos se permiten comprimir y estructurar la información
En el interior de los computadores la información se almacena y
se transfiere de un sitio a otro según un código que utiliza sólo
dos valores (un código binario) representados por 0 y 1.
7. 7
Cont…
Codificación y Decodificación
Al tener que <traducir> toda la información suministrada al computador a ceros y
unos, es necesario establecer una correspondencia entre el conjunto de todos los
caracteres
= { A, B, C, D, …, Z, a, b,…, z, 0, 1, 2, 3, …, 9, /, +, (, ), … }
y el conjunto binario
= { 0, 1 } n
Estos códigos de trasformación se denominan códigos de Entrada /
Salida (E/S) o códigos externos.
Las operaciones aritméticas con datos numéricos se suelen realizar en una representación
más adecuada para este objetivo que la obtenida con el código de E/S.
8. 8
La unidad más elemental de
información…
…es un valor binario, conocido como BIT.
El origen de este término es inglés:
BIT = Binary y digiT
Un bit es una posición o variable que toma el
valor 0 o 1.
Es la capacidad mínima de almacenamiento de
información en el interior de un computador
El bit es la unidad de información mínima
9. 9
Información – caracteres – BIT …
A cada caracter le corresponde cierto número de bits.
Byte : número de bits necesarios para almacenar un caracter
Byte se utiliza como sinónimo de 8 bits u octeto.
La capacidad de almacenamiento (computador, soporte de información) se
mide en bytes.
Byte es una unidad relativamente pequeña
Se utiliza múltiplos:
1 Kilobyte = 1KB = 210 bytes = 1024 bytes =210 bytes
1 Megabyte = 1MB = 210 Kb = 1048576 bytes =220 bytes
1 Gigabyte = 1GB = 210 Mb = 1073741824 bytes =230 bytes
1 Terabyte = 1TB = 210 Gb = 1099511627776 bytes =240 bytes
1 Pentabyte = 1PB = 210 Tb = 11258999906842624 bytes =250 bytes.
1 Exabyte = 1EB = 210 Pb = 11258999906842624 bytes =260 bytes.
1 Zetabyte?
1 Yottabyte?
10. 10
Cont...
DATO: Característica de una información expresada en forma
adecuada para su tratamiento.
Representación de los datos (valores):
Valores analógicos.
Valores discretos o digitales.
Necesidad de convertir los valores analógicos a discretos.
Sistema digital: Sistema de N estados estables
Dígito: Variable capaz de asumir un estado.
Los dígitos se agrupan para representar más estados.
11. 11
Cont...
Código: Ley de correspondencia entre valores de información y
combinaciones de dígitos de un sistema digital utilizadas para
representarlos.
Codificación: Información -> Código
azul ----> 0 azul ----> 100
verde ----> 1 ó verde ----> 101
rojo ----> 2 rojo ----> 111
Decodificación: Código -> Información
azul <---- 0 azul <---- 100
verde <---- 1 ó verde <---- 101
rojo <---- 2 rojo <---- 111
Código binario: Cuando el sistema digital utilizado tiene sólo 2
estados (0,1).
12. 12
Sistemas de numeración usuales en informática
Los computadores suelen efectuar las operaciones aritméticas
utilizando una representación para los datos numéricos basada
en el sistema de numeración base dos (sistema binario).
También se utilizan los sistemas de numeración,
preferentemente el octal y hexadecimal, para obtener
códigos intermedios.
Un número expresado en uno de estos dos códigos puede
transformarse directa y fácilmente a binario y viceversa.
Por lo que a veces se utilizan como paso intermedio en las
transformaciones de decimal a binario y viceversa.
13. 13
Representación posicional de los números
Un sistema de numeración en base b utiliza para representar los
números un alfabeto compuesto por b símbolos o cifras.
Todo número se expresa por un conjunto de cifras,
contribuyendo cada una e ellas con un valor que depende de:
a) la cifra en sí, y
b) la posición que ocupe dentro del número.
En el sistema de numeración decimal (sistema en base 10):
b = 10 y el alfabeto está constituido por diez símbolos o cifras
decimales:
{0,1,2,3,4,5,6,7,8,9}
14. 14
Cont...
por ejemplo, el número 3278.52 puede obtenerse como suma de:
se verifica que:
3278.52 = 3*103 + 2*102 + 7*101 + 8*100 + 5*10-1 + 2*10-2
15. 15
Cont...
Representación de un número en una base b:
Forma abreviada:
N = … n4 n3 n2 n1 n0 . n-1 n-2 n-3 …
Valor:
N = … n4 * b4 + n3 * b3 + n2 * b2 + n1 * b1 + n0 * b0 + n-1 * b-1 …
Para representar un número:
Resulta más cómodo que los símbolos (cifras) del alfabeto o la base de
numeración sean los menos posibles, pero ,
Cuanto menos es la base, mayor es el número de cifras que se necesitan
para representar una cantidad dada.
17. 17
Sistema de numeración binario
La base es 2 (b=2) sólo
se necesitan dos símbolos :
{ 0, 1 }
18. 18
Conversión de Decimal a Binario
Se aplica el método de las “divisiones y multiplicaciones ”
sucesivas con la base como divisor y multiplicador (b = 2).
Ejemplo: 26.1875 )10 = 11010.0011 )2
Para la parte entera:
Para la parte fraccionaria:
19. 19
Conversión de Binario a Decimal
Se desarrolla la representación binaria (con b=2) y se
opera el polinomio en decimal.
Ejemplos:
110100)2 = 1·25 + 1·2 4 + 0·2 3 + 1·2 2 + 0·2 1 + 0·2 0
= 52 )10
10100.001)2 = 1·2 4 + 0·23 + 1·22 + 0·21 + 0·20 +
0·2- 1 + 0·2- 2 +1·2-3 = 20.125 )10
Realmente basta con sumar los pesos (2i ) de las
posiciones (i) en las que hay un 1.
20. 20
Operaciones aritméticas con variables binarias
Las operaciones aritméticas básicas son la suma, resta,
multiplicación y división.
22. 22
Representación en complementos
Para representar un número negativo se puede
utilizar
Complemento a la base
Complemento a la base – 1
Las sumas y restas quedan reducidas a sumas.
Este sistema de representación de sumo interés ya
que reduce la complejidad de la unidad aritmético
lógica (no son necesarios circuitos específicos para
restar).
23. 23
Complemento a la base menos 1
El complemento a la base menos uno 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 este utilizando.
Podemos restar dos números sumando al minuendo el
complemento a la base menos uno del sustraendo. La cifra
que se arrastra del resultado se descarta y se suma al
resultado así obtenido.
24. 24
En base 2 (Complemento a 1)
Complemento a la base menos uno
(a uno) del número 10010 es:
Complemento a uno de 101010 es:
11111
-10010
01101
111111
-010101
101010
25. 25
Cont…
Queremos Restar 1000111 – 10010:
Con complemento a 1 (de 0010010 ):
1000111
- 0010010
0110101
1000111
+ 1101101
(1)0110100
+ 0000001
0110101
Complemento a 1 de 0010010
De manera normal
26. 26
Cont…
Fácilmente se observa que para transformar un
número binario, N, a complemento a 1 basta con
cambiar en N los unos por los ceros y los
ceros por los unos.
27. 27
Complemento a la base
El complemento a la base de un número, N, es el número que
resulta de restar cada una de las cifras del número N a la base menos
uno del sistema que se esté utilizando y, posteriormente, sumar uno
a la diferencia obtenida.
Se pueden restar dos números sumando al minuendo el complemento a
la base del sustraendo y despreciando, en su caso, el acarreo del
resultado.
29. 29
El sistema octal tiene su origen en la antigüedad,
cuando las personas usaban sus manos para contar de
ocho en ocho los animales.
Por ejemplo, para contar el número de vacas en un
establo se comenzaba a contar con la mano derecha,
juntando el dedo pulgar con el meñique; luego para
contar el segundo animal se juntaba el pulgar con el
dedo índice, y así sucesivamente con los dedos
restantes de cada mano, hasta completar 8.
Existe la posibilidad de que en la antigüedad se usara el
sistema de numeración octal antes que el decimal para
poder contar los espacios interdigitales; es decir, contar
todos los dedos a excepción de los pulgares.
Historia
30. Sistema octal
El sistema numérico en base 8 se llama octal
y utiliza los dígitos 0 a 7.
Los números octales pueden construirse a
partir de números binarios agrupando cada
tres dígitos consecutivos de estos últimos (de
derecha a izquierda) y obteniendo su valor
decimal.
Por ejemplo, el número binario para 74 (en
decimal) es 1001010 (en binario), lo
agruparíamos como 1 001 010. De modo que
el número decimal 74 en octal es 112.
31. Sistema octal
Las posiciones de los dígitos en un
número octal tienen los siguientes
pesos:
84, 83, 82, 81, 80, punto octal, 8-1, 8-2, 8-3,
8-4, 8-5.
32. 32
Sistema de numeración octal
La base es 8
El conjunto de símbolos es:
{ 0, 1, 2, 3, 4, 5, 6, 7 }
Conversión de octal a decimal
Se desarrolla el polinomio con b=8 y se opera en decimal.
Conversión de decimal a octal
Aplicar el método de “divisiones y productos” con divisor y multiplicador 8.
Conversión “rápida” de binario a octal
Agrupar cifras binarias de 3 en 3 y transformar con la tabla 1.
Conversión “rápida” de octal a binario
Convertir cada cifra octal mediante la tabla
33. En informática, a veces se utiliza la numeración
octal en vez de la hexadecimal. Tiene la ventaja
de que no requiere utilizar otros símbolos
diferentes de los dígitos.
Es posible que la numeración octal se usara en
el pasado en lugar de la decimal, por ejemplo,
para contar los espacios interdigitales o los
dedos distintos de los pulgares. Esto explicaría
porqué en latín nueve (novem) se parece tanto
a nuevo (novus). Podría tener el significado de
número nuevo.
34. CONVERSION A SISTEMA OCTAL
El Sistema Octal (base8)
Representar un número en sistema binario puede
ser bastante difícil de leer, así que se creó el
sistema octal. En el sistema Octal (base 8), sólo se
utilizan 8 cifras (0,1,2,3,4,5,6,7)
Este Sistema de numeración una vez que se llega a
la cuenta 7 se pasa a 10, etc.
Cuenta hecha en
octal: 0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,20,
21,..... se puede observar que en este sistema
numérico no existen los números: 8 y 9
35. Un número entero decimal puede ser
convertido en un número octal utilizando el
método de la división repetida, donde el entero
decimal se divide entre 8 hasta que el cociente
sea igual a 0, y los residuos de cada división
van a representar al número octal.
Los residuos son ordenados del último al
primero; es decir, que el primer residuo será el
dígito menos significativo del número octal. De
esa forma, el dígito más significativo será el
último residuo.
CONVERSIÓN DEL DECIMAL
AL OCTAL
36. Ejemplo
Octal del número decimal 26610
– Se divide el numero decimal 266 entre 8 =
266/8 = 33 + residuo de 2.
– Luego se divide el 33 entre 8 = 33/8 = 4 +
residuo de 1.
– Se divide 4 entre 8 = 4/8 = 0 + residuo de 4.
CONVERSIÓN DEL DECIMAL
AL OCTAL
37. Como con la última división se obtiene un cociente menor a 1, quiere decir que
el resultado ha sido encontrado; solo se tienen que ordenar los restos de forma
inversa, de tal forma que el número octal del decimal 266 es 412, como se
puede observar en la siguiente imagen:
CONVERSIÓN DEL DECIMAL
AL OCTAL
38. Para convertir un número del sistema octal a su
equivalente en el sistema decimal solo se tiene
que multiplicar cada dígito octal por su valor
posicional, comenzando desde la derecha.
Ejemplo 1
7328 = (7* 82) + (3* 81) + (2* 80) = (7 * 64) + (3 * 8) + (2 * 1)
7328= 448 +24 +2
7328= 47410
Ejemplo 2
26,98 = (2 *81) + (6* 80) + (9* 8-1) = (2 * 8) + (6 * 1) + (9 * 0,125)
26,98 = 16 + 6 + 1,125
26,98= 23,12510
CONVERSIÓN DEL OCTAL AL
DECIMAL
39. La conversión del sistema octal al binario se lleva
a cabo al convertir el dígito octal a su dígito
binario equivalente, formado por tres dígitos.
Existe una tabla que muestra cómo se convierten
los ocho posibles dígitos:
CONVERSIÓN DEL OCTAL AL
BINARIO
41. A partir de esas conversiones se puede cambiar
cualquier número del sistema octal al binario, como por
ejemplo, para convertir el número 5728 se buscan sus
equivalentes en la tabla. Así, se tiene que:
58 = 101
78=111
28 = 10
Por lo tanto, 5728 equivale en el sistema binario a
10111110.
CONVERSIÓN DEL OCTAL AL
BINARIO
42. El proceso de conversión de números enteros
binarios a números enteros octales es la
operación inversa al proceso anterior.
Es decir, se agrupan los bits del número binario
en dos grupos de tres bits, comenzando de
derecha a izquierda. Luego, se hace la
conversión de binario a octal con la tabla
anterior.
CONVERSIÓN DEL BINARIO
AL OCTAL
43. En algunos casos el número binario no tendrá grupos de
3 bits; para completarlo, se agregan uno o dos ceros a
la izquierda del primer grupo.
Por ejemplo, para cambiar el número binario 11010110
a octal se realiza lo siguiente:
– Se forman grupos de 3 bits comenzando por la
derecha (ultimo bit):
11010110
– Como el primer grupo está incompleto, se agrega un
cero a la izquierda:011010110
CONVERSIÓN DEL BINARIO
AL OCTAL
44. – Se hace la conversión a partir de la tabla:
011 = 3
010 = 2
110 = 6
De esa forma, el número binario 011010110
equivale a 3268.
CONVERSIÓN DEL BINARIO
AL OCTAL
45. 45
Sistema de numeración hexadecimal
La base es 16
El conjunto de símbolos es:
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
47. 47
Cont...
Conversión de Hexadecimal a decimal
Se desarrolla el polinomio con b=16 y se opera en decimal.
Conversión de Decimal a hexadecimal
Aplicar el método de “divisiones y productos” con divisor y
multiplicador 16.
Conversión “rápida” de binario a hexadecimal
Agrupar cifras binarias de 4 en 4 y transformar con la tabla
Ejemplo: 0010|0101|1101|1111 . 1011|1010 (2 = 25DF.BA (16
Conversión “rápida” de hexadecimal a binario
Convertir cada cifra hexadecimal mediante la tabla
Ejemplo: 1ABC.C4 (16 = 0001|1010|1011|1100 . 1100|0100 (2
48. ¿Cómo funciona el sistema
hexadecimal?
El sistema hexadecimal es un método de
numeración posicional que utiliza como base
el número 16
El uso que se le da en la actualidad al sistema
hexadecimal está directamente vinculado a la
rama de la informática y las ciencias de
la comunicación en las que el CPU utiliza el
byte u octeto, como la unidad básica de
memoria.
48
49. ¿Para qué se utiliza el sistema
hexadecimal?
El sistema hexadecimal es empleado
comúnmente en computadores y sistemas
digitales, con el fin de reducir grandes
cadenas de números binarios en conjuntos de
cuatro dígitos, que se pueden de esta forma
comprender fácilmente.
Su uso está íntimamente vinculado a la
informática, ya que todas las computadoras
utilizan el byte como unidad básica de
memoria.
49
50. La notación hexadecimal se emplea dentro de las
páginas web y en los sistemas de cómputo para
señalar algún valor. Un claro ejemplo es la
notación por colores que se usan en las plantillas
web HTML.
El sistema hexadecimal es un sistema de
numeración en el que hay 16 dígitos de conteo
que van desde el 0 (cero), a la F. Cada dígito tiene
un peso o valor de 16, a partir del bit menos
significativo.
50
51. Los programadores utilizan números
hexadecimales ya que sus valores son más cortos
de lo que serían si se mostraran en decimal, y
mucho más cortos que en el sistema binario, que
solo usa 0 y 1.
El sistema hexadecimal también usa, como los
códigos de color HTML, colores para
expresarse, y puede expresar números negativos
de la misma forma que lo hace en la forma
decimal de un número.
51
52. El sistema hexadecimal es una forma
extraordinaria para comprimir datos. Para
representarse, utiliza la abreviación “hex”.
El actual sistema hexadecimal fue introducido en
el ámbito de la computación en el año 1963 por la
empresa IBM.
Puede parecer algo complejo para la persona
apócrifa, pero para los informáticos, sin duda, fue
un avance extraordinario que hoy día continúa
mostrando su gran utilidad.
52
53. 53
Cont…
Números de precision finita
En la mayoría de las computadoras, la cantidad de memoria
disponible para guardar números se fija en el momento de
su diseño.
Con un poco de esfuerzo, el programador puede llegar a
representar números 2 o 3 veces más grandes que este
tamaño prefijado
Al hacerlo no termina de cambiar la naturaleza del
problema: la cantidad de dígitos disponibles para
representar un número siempre será fija.
Llamamos a estos números de precisión finita.
54. 54
Cont…
En informática para indicar que un dígito es hexadecimal se
suele indicar con una H después del número, de este modo
2h – 2 hex – 2 hexadecimal
5h – 5 hex – 5 hexadecimal
Cuando el número tiene un solo dígito, se suele poner un 0 en
la parte más significativa del número, de este modo
2h se suele escribir 02h ó 02H, también lo podrás encontrar
expresado como 0x2
5h se suele escribir 05h ó 05H, también lo podrás encontrar
expresado como 0x5
55. 55
Conveniencia del sistema
Hexadecinal
El sistema Hexadecimal en la informática se utiliza
ampliamente por dos razones básicas:
1. Por la correspondencia directa entre números
binarios y hexadecimales, nos permite simplificar
enormemente la representación de números
binarios.
2. Es más rápido representar y efectuar
operaciones de cualquier tipo en sistema
hexadecimal.
56. 56
Conversión Binario – Hexadecimal
El sistema binario tiene una
correspondencia directa con el sistema
Hexadecimal, de modo que la conversión
entre ambos sistemas es muy rápido y
eficiente (a nivel de máquina), por lo que
con frecuencia nos veremos representando
instrucciones y otros valores en
hexadecimal, en lugar de binario.
57. 57
Equivalencias Binario – Hexadecimal
Hexadecimal Binario
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111
58. 58
Conversión Binario – Hexadecimal
La base de números binarios está representada por
2 valores y la base de números Hex está
representada por 16 valores. A fin de convertir un
número binario en su equivalente hexadecimal:
1. Dividir el número binario en grupos, cada grupo
debe contener cuatro bits
2. A continuación, convertir cada grupo en su
equivalente hexadecimal, utiliza la tabla de
conversión para obtener el resultado.
59. 59
Conversión Binario – Hexadecimal
El siguiente ejemplo muestra lo sencillo que es hacer una
conversión binario-hexadecimal.
Ejemplo: Convertir el número binario (1111110101110011)2
en su equivalente hexadecimal
Binario 1111 1101 0111 0011
Hexadecimal F D 7 3
Resultado: FD73h
61. 61
Conversión Hexadecimal - Binario
a conversión de número hexadecimal a binario es igual de trivial, pero de forma
inversa:
Tomar el dígito hexadecimal individual
De la tabla de equivalencia binario-hexadecimal reemplazar por el equivalente
binario
El siguiente ejemplo muestra la conversión hexadecimal a binario.
Ejemplo: Convertir el número hexadecimal (9DBA5)16 a su equivalente binario
Hexadecimal 9 D B A 5
Binario 1001 1101 1011 1010 0101
Resultado: 10011101101110100101
62. 62
Representación de datos Numéricos
Para la representación de los datos numéricos se debe tener en
cuenta que las operaciones de la ALU están sujetas a las
siguientes restricciones:
Los registros son de tamaño fijo.
Puede existir desbordamiento.
Presentan problemas con los números negativos.
Es necesario, por ello, introducir nuevas formas de numeración
basadas, por supuesto, en la representación binaria.
Al conjunto de estas representaciones y su funcionamiento se le
denomina aritmética binaria.
En aritmética binaria debemos distinguir:
Representación para números enteros
Representación de números reales.
63. 63
Datos de tipo entero
Es una representación del conjunto de números enteros.
Es necesario utilizar un espacio finito y fijo para cada dato.
El número se debe representar en binario y almacenarlo con
un número fijo de bits.
El número de datos distintos que se pueden generar es 2n,
donde n es el número de bits que se utiliza en la
representación. Por tanto, si se modifica el número de bits, se
obtienen distintos tipos enteros.
Cualquier operación con datos de tipo entero es exacta salvo
que se produzcan desbordamientos.
64. 64
Datos de tipo entero
Enteros sin signo
No hace falta codificación, todos los bits del dato representan el valor del
número expresado en binario natural (sistema de numeración base 2).
Enteros en signo y magnitud
Se basan en tener 1 bit para el signo, y el resto de la cifra (n-1 bits) para
codificar el número entero a representar.
El signo se representa con el bit mas significativo del dato
Se distingue entre números:
Positivos: Se almacenan con el bit de signo puesto a 0
Negativos: Se almacenan con el bit de signo puesto a 1
Permiten almacenar números desde
-2 (n-1), hasta + (2(n-1)) - 1
Bytes: -128 a +127
Words (de 2 Bytes): -32768 a 32767
65. Cont…
Enteros en complemento a 1 ó 2
El signo se representa de la misma forma que en el caso de signo y
magnitud
El resto de los bits representan:
Si el número es positivo: el valor absoluto del número en binario natural
Si es negativo: su complemento a 1 ó 2
Representación con exceso o sesgada
Se le suma al número N un sesgo S, de forma tal que el número resultante
siempre es positivo, no siendo necesario reservar un bit de signo.
Representación con dígitos decimales codificados en binario
(BCD)
En ocasiones, los datos de tipo entero se representan internamente
codificando aisladamente cada dígito decimal con cuatro dígitos binarios
De esta froma, en un byte se pueden representar 2 dígitos decimales
En la representación BCD de datos con signo se suelen utilizar 4 bits par
representar al signo, por ejemplo 0000 para positivo y 1001 para negativo
66. 66
Datos de tipo real
Es una representación del conjunto de números reales
Cuando se opera con números muy grandes se suele utilizar la
notación exponencial, también llamada notación científica o
notación en como flotante.
Todo número N puede ser representado en la forma:
N = M . B E
Donde M es la mantisa, B es la base 10 y E el exponente
Los microprocesadores actuales disponen internamente de un
procesador de coma flotante (Float Point Unit, FPU) que contiene
circuitos aritméticos para operar con este tipo de datos.
No permite el almacenamiento de números muy grandes o muy
pequeños, lo que conlleva a que se produzcan desbordamientos y
agotamientos.
67. 67
Datos de tipo real
Coma fija: La posición está fijada de antemano y es
invariante.
Cada número se representa por n bits para la parte entera y m
bits para la parte fraccionaria .
Nos ahorramos el punto
Dependerá de n y de m
Se puede producir un error de truncamiento.
Un mismo número en punto fijo puede representar a muchos
números reales.
1.25 (m=2), 1.256 (m=2), 1.2589 (m=2), 1.2596 (m=2), etc
El MSB es el signo
No todos los números reales pueden representarse con este
formato
68. 68
Cont…
Coma flotante: La posición de la coma es variable dependiendo
del valor del exponente. Es de la forma:
m 10exp ( En decimal) m 2exp(En binario)
En decimal en la notación científica podemos escribir:
1.9 x 109 o en forma corta 1.9E9
Tiene dos campos uno contiene el valor de la mantisa y el otro de valor
del exponente.
El bit más significativo de la mantisa contiene el signo.
Existen tres formatos:
SignoN Mantisa Exponente → Directo
SignoM Exponente Mantisa → Comparación rápida
SignoE Exponente SignoN Mantisa→ Precisión ampliada
69. 69
Cont…
Como un valor puede tener más
de una representación, se
normaliza la representación
haciendo que el primer bit
significativo de la mantisa ocupe la
posición inmediatamente a
continuación del signo.
Trabajando mantisas normalizadas
siempre el primer bit de la mantisa es
el complemento del bit de signo, por lo
que no es necesario incluirlo en la
codificación.
El bit que no se incluye recibe el
nombre de bit implícito.
Las características de los sistemas de
representación en coma flotante son:
El exponente se representa en exceso a
2n-1, siendo n el número de bits del
exponente.
La mantisa es un número real
normalizado, sin parte entera.
Su representación puede ser en
cualquier sistema: módulo y signo,
Complemento a 1 o Complemento a 2.
La base de exponenciación es una
potencia de dos.
70. 70
Cont…
Representación en simple precisión: Palabra de 32 bits.
Signo Exponente Mantisa
31 30 23 22 0
1 bit 8 bits 23 bits
Un ejemplo en C es el float
71. 71
Cont…
Representación en doble precisión: Palabra de 64 bits.
Signo Exponente Mantisa
63 62 52 51 0
1 bit 11 bits 52 bits
Un ejemplo en C es el Double
72. 72
Cont…
Ejemplo 1:
-9.2510
Sean m =16, nE = 8 ( nM = 7) ,
Pasamos a binario 9.2510 = 1001.012
Normalizamos 1.00101 x 23
Resultado de la Normalización 1001.012 = 0010100
Exponente (exceso a 27-1) 310 = (127 +3)2=10000010
1 1000 0010 0010 100
SM E M
m: es el número de bit con que se representa el número
nE : es el número de bits que se usan para representar el exponent
nM : es el número de bits que se usan para representar el
74. 74
Principales tipos de datos aritméticos utilizables en el
lenguaje de programación C (compilador Borland C++ para PC)
Tipo
Nº de
bits
Rango de valores
Precisión
(dígitos
decimales)
Tipos
enteros
Carácter
Carácter sin signo
Entero corto
Entero corto sin signo
Enumerado
Entero
Entero sin signo
Entero largo
Entero largo sin signo
8
8
16
16
16
*
*
32
32
-128,127
0 a 255
-32.768 a 32.767
0 a 65.535
-32.768 a 32.767
*
*
-2.1471
484.648 a 2.1471
484.648
0 a 4.2941967.295
3
3
3
5
5
*
*
10
10
Tipos
reales
Coma flotante
Coma flotante doble
Coma flotante doble largo
32
64
80
±[3,4E-38 a 3,4E38], 0
±[1,7E-308 a 1,7E308], 0
±[3,4E-4932 a 1,1E4932], 0
7
15
19
75. 75
Representación de textos
Códigos de Entrada/Salida
Asocian a cada símbolo una determinada
combinación de bits.
a = {0,1,2,...,8,9,A,B,...,Y,Z,a,b,...,y,z,*,",/,...}
b = {0,1}n
Con n bits podemos codificar m=2n símbolos distintos
Para codificar m símbolos distintos se necesitan n
bits,
n ≥ log2 m = 3.32 log (m)
76. 76
Ejemplo:
Para codificar las cifras decimales
{0,1,2,3,4,5,6,7,8,9} se necesitarán :
n ≥ 3.3221 log(m) = 3.322 bits
es decir, 4 bits (para que se cumpla la relación)
Por lo menos se necesitan 4 bits, pero pueden
hacerse codificaciones con más bits de los
necesarios. Tabla 2
Con 4 bits no se usan 24 – 10 = 6 combinaciones, y
con 5 bits 25 – 10 = 22 combinaciones.
78. 78
Ejemplos de Códigos de E/S
Código ASCII
El código ASCII se utiliza para representar caracteres.
Formado por 8 bits (cada carácter se expresa por un número entre 0 y 255)
Es un código estándar, independiente del lenguaje y del ordenador
Podemos distinguir dos grupos:
Los 128 primeros caracteres se denominan código ASCII estándar
Representan los caracteres que aparecen en una maquina de escribir convencional
Los 128 restantes se denominan código ASCII ampliado
Este código asocia un numero a caracteres que no aparecen en la maquina de escribir y que son muy utilizados en
el ordenador tales como caracteres gráficos u operadores matemáticos.
Código EBCDIC
Extended Binary Coded Decimal Interchange Code
Código Ampliado de Caracteres Decimales Codificados en Binario para Intercambio de Información
Es un sistema de codificación de caracteres alfanuméricos.
Cada carácter queda representado por un grupo de 8 bits.
Código Unicode
Es de 16 bits, por lo que puede representar 65536 caracteres.
Es una extensión del ASCII para poder expresar distintos juegos de caracteres (latino,
griego, árabe, kanji, cirílico, etc).
81. 81
Cont…
ASCII-1967 (US-ASCII)
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2 sp ! " # $ % & ' ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~ DEL
82. 82
Códigos ASCII (0-127).
Carácteres no imprimibles Carácteres imprimibles
Nombre Dec Hex Car. Dec Hex Car. Dec Hex Car. Dec Hex Car.
Nulo 0 00 NUL 32 20 Espacio 64 40 @ 96 60 `
Inicio de cabecera 1 01 SOH 33 21 ! 65 41 A 97 61 a
Inicio de texto 2 02 STX 34 22 " 66 42 B 98 62 b
Fin de texto 3 03 ETX 35 23 # 67 43 C 99 63 c
Fin de transmisión 4 04 EOT 36 24 $ 68 44 D 100 64 d
enquiry 5 05 ENQ 37 25 % 69 45 E 101 65 e
acknowledge 6 06 ACK 38 26 & 70 46 F 102 66 f
Campanilla (beep) 7 07 BEL 39 27 ' 71 47 G 103 67 g
backspace 8 08 BS 40 28 ( 72 48 H 104 68 h
Tabulador horizontal 9 09 HT 41 29 ) 73 49 I 105 69 i
Salto de línea 10 0A LF 42 2A * 74 4A J 106 6A j
Tabulador vertical 11 0B VT 43 2B + 75 4B K 107 6B k
Salto de página 12 0C FF 44 2C , 76 4C L 108 6C l
Retorno de carro 13 0D CR 45 2D - 77 4D M 109 6D m
Shift fuera 14 0E SO 46 2E . 78 4E N 110 6E n
Shift dentro 15 0F SI 47 2F / 79 4F O 111 6F o
Escape línea de datos 16 10 DLE 48 30 0 80 50 P 112 70 p
Control dispositivo 1 17 11 DC1 49 31 1 81 51 Q 113 71 q
Control dispositivo 2 18 12 DC2 50 32 2 82 52 R 114 72 r
Control dispositivo 3 19 13 DC3 51 33 3 83 53 S 115 73 s
Control dispositivo 4 20 14 DC4 52 34 4 84 54 T 116 74 t
neg acknowledge 21 15 NAK 53 35 5 85 55 U 117 75 u
Sincronismo 22 16 SYN 54 36 6 86 56 V 118 76 v
Fin bloque transmitido 23 17 ETB 55 37 7 87 57 W 119 77 w
Cancelar 24 18 CAN 56 38 8 88 58 X 120 78 x
Fin medio 25 19 EM 57 39 9 89 59 Y 121 79 y
Sustituto 26 1A SUB 58 3A : 90 5A Z 122 7A z
Escape 27 1B ESC 59 3B ; 91 5B [ 123 7B {
Separador archivos 28 1C FS 60 3C < 92 5C 124 7C |
Separador grupos 29 1D GS 61 3D = 93 5D ] 125 7D }
Separador registros 30 1E RS 62 3E > 94 5E ^ 126 7E ~
85. 85
Representación de Sonidos
Grabación de una señal de sonido:
Se capta por medio de un micrófono que produce una señal analógica (señal que
puede tomar cualquier valor dentro de un determinado intervalo continuo).
La señal analógica se amplificada para encajarla dentro de dos valores límites, p.e. entre
–5 voltios y +5 voltios.
a) Señal analógica captada por un micrófono al pronunciar la palabra “casa”;
b) Tramo de muestras comprendido entre 0,184 a 0,186 segundos;
86. 86
Cont…
Los valores obtenidos en la conversión (muestras) se almacenan en posiciones consecutivas
c) Valores de las muestras obtenidos por un conversor A/D y que representan a la señal de voz.
Principales parámetros de grabación:
Frecuencia de muestreo (suficiente para no perder la forma de la señal original)
Número de bits por muestra (precisión)
La capacidad necesaria para almacenar una señal de audio depende de los dos parámetros
anteriores:
1 minuto de audio estéreo con calidad CD, necesita 10 MB (sin compresión de datos)
87. 87
Representación de Imágenes
Las imágenes se adquieren por medio de periféricos tales como escáneres, cámaras de video o cámaras fotográficas.
Una imagen se representa por patrones de bits, generados por el periférico correspondiente.
Formas básicas de representación:
Mapa de bits
Mapa de vectores
Tipo Formato Origen Descripción
BMP (BitMap) Microsoft Usado en aplicaciones Windows
PICT (PICTure) Apple Comp. Usado en Macintosh
TIFF (Tagged Image File
Formats)
Microsoft y
Aldus
Usado en PC y Macintosh, muy poco
compatible con otros formatos.
JPEG (Joint Photographic
Experts Group)
Grupo JPEG Muy buena calidad para imágenes naturales.
Incluye compresión, Muy usado en la web
GIF (Graphic Interchange
Format)
CompuServe Incluye compresión. Muy usado en la web.
Mapa de bits
PNG (Portable Network
Graphics)
Consorcio
www
Evolución de GIF. Muy buena calidad de
colores. Incluye muy buena compresión
DXF (Document eXchange
Format)
Formato normalizado para imágenes CAD
(AutoCAD , CorelDRAW, etc.)
IGES (Initial Ghaphics
Exchange Specification)
ASME/ANSI Formato normalizado para modelos CAD
(usable en AutoCAD , CorelDRAW, etc.)
EPS (Encapsulated Poscript) Adobe Sys. Ampliación para imágenes del lenguaje
Poscript de impresión.
Mapa de
vectores
TrueType Apple comp.... Alternativa de Apple y Microsoft para el EPS
88. 88
Imágenes de Mapas de Bits
Estructura de una imagen con resolución de 640x580 elementos.
La imagen se considera dividida en una fina retícula de celdas o elementos de imagen (pixels).
A cada elemento de imagen (e.i.) se le asocia un valor (atributo) que se corresponde con su nivel
de gris (b/n) o color, medio en la celda.
La resolución es
(nº e.i. horizontales x nº e.i. verticales).
Se memoriza, almacenando ordenada y sucesivamente los atributos de los distintos elementos de
imagen.
89. 89
Características de algunas formas de imágenes
digitalizadas
La calidad de la imagen depende de
La resolución y
Codificación del atributo (número de bits)
La capacidad depende de dichos parámetros:
Ejemplo: imagen de 16 niveles de grises (b/n) y con resolución de 640x350: 110 Kbytes
Ejemplo: imagen con resolución XGA con 256 niveles para cada color básico: 2,25 MBytes
Resolución
(horizontal x vertical)
Movimiento
Fax (A4) (100, 200,400) x (200, 300, 400) ei/” Estática
Convencionales
Foto (8”x11”) 128, 400, 1200 ei/pulgada Estática
Videoconferencia 176 x 144 ei/imagen
10 a 36
imágenes/s
TV 720 x 480 ei/imagen 30 imágenes/s
Televisión
HDTV
(TV alta definición)
1920 x 1080 ei/imagen 30 imágenes/s
Pantalla
computador
VGA
SVGA
XGA
640 x 480 ei
800 x 600 ei
1024 x 768 ei
90. 90
Imágenes de Mapas de Vectores
Se descompone la imagen en una colección de objetos tales
como líneas, polígonos y textos con sus respectivos 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 visualiza una imagen, un programa evalúa las ecuaciones y
escala los vectores generando la imagen concreta a ver.
Características:
Sólo es adecuada para gráficos de tipo geométrico (no imágenes
reales)
Ocupan mucho menos espacio que los mapas de bits.
91. 91
Compresión De Datos
Diversas aplicaciones (multimedia, etc.)
requieren utilizar archivos de gran
capacidad.
Volumen requerido para su
almacenamiento en disco muy elevado
el tiempo de transmisión del archivo por
una red resulta excesivo
Solución: transformación denominada
compresión de datos.
El archivo, antes de ser almacenado o
transmitido se comprime mediante un
algoritmo de compresión, y
cuando se recupera para procesarlo o
visualizarlo se aplica la técnica inversa
para descomprimirlo.
Técnicas:
Codificación por longitud de
secuencias
Codificación relativa o
incremental
Codificación dependiente de la
frecuencia
Codificación con diccionario
adaptativo
Codificación Lempel-Ziv
Compresión GIF (imágenes)
Compresión JPEG (imágenes)
Compresión MPEG (imágenes)
Compresión MP3 (sonidos)
92. 92
Detección de errores en la
Información Codificada
Cuantas menos codificaciones se desperdicien el código es más
eficiente.
La eficiencia de un código () se define como el cociente
entre el número de símbolos que se representan realmente, m,
dividido para el número de símbolos que en total pueden
representarse.
Con códigos binarios en que m = 2n, se tiene:
= m/ m’ = m/2n , con 0< < 1
Cuanto más eficiente sea el código, entonces será mayor.
93. 93
Ejemplo 3.17
Supongamos que usamos el código ASCII, para
representar 95 símbolos . La eficiencia del código
será:
sin bit de paridad:
= m/ m’ = 95/27 = 0.742
con un bit adicional de paridad:
= m/ m’ = 95/28 = 0.371
94. 94
Cont…
Un código poco eficiente se dice que es redundante:
R = ( 1 - ) · 100%
(Observamos que se da en %)
Ejemplo 3.18
En los casos considerados en el ejemplo anterior, las
redundancias son:
R = ( 1 – 0.742 ) · 100% = 28.8%
R = ( 1 – 0.371 ) · 100% = 62.9%
En ocasiones, las redundancias se introducen deliberadamente
para detectar posibles errores de transmisión o grabación de
información.
95. 95
Cont…
Por ejemplo:
necesitamos transmitir 8
símbolos {A,B,C,D,E,F,G,H}
Un código sin redundancia:
n = 3 bits
Si por error varía uno de
los bits obtenemos otro
símbolo del alfabeto.
Alfabeto Código I Código II
A
B
C
D
E
F
G
H
000
001
010
011
100
101
110
111
0000
0001
0010
0011
0100
0101
0110
0111
Esto considerando por sí mismo ( aisladamente) no puede
ser detectado como erróneo.
Pero, si usamos un código redundante, como el código II
existirían algunas posibilidades de detectar errores.
96. 96
Cont…
Las redundancias se introducen de acuerdo
con algún algoritmo predeterminado.
Los códigos pueden ser verificados por
circuitos del computador o periféricos
especializados en este objetivo.
Uno de estos algoritmos añade al código
inicial de cada carácter un nuevo bit llamado
bit de paridad.
97. 97
Bit de Paridad
Existen dos criterios para introducir este bit:
Bit de Paridad, Criterio Par:
Se añade un bit ( 0 o 1 ) de forma que el número total de
unos del código que resulte sea par.
Bit de Paridad, Criterio Impar:
Se añade un bit ( 0 o 1 ) de forma que el número total de
unos del código que resulte sea impar.
El bit de paridad se introduce antes de transmitir o grabar la
información ( en la memoria principal, cinta o disco magnético).
98. 98
Ejemplo:
Por ruido o interferencia en la
transmisión puede intercambiarse un
bit (de 0 a 1 o de 1 a 0).
Si en el receptor se comprueba la
paridad se detecta el error ya que el
número de unos deja de ser par o
impar (según el criterio).
De esta manera se podría producir
automáticamente la retransmisión
del carácter erróneo.
Si se produjese el cambio de dos
bits distintos, no se detectaría el
error de paridad.
Esto es poco probable que ocurra.
Código
inicial
Código con
bit de paridad
Código con
bit de paridad
(criterio par) (criterio impar)
100 0001 0100 0001 1100 0001
101 1011 1101 1011 0101 1011
101 0000 0101 0000 1101 0000
110 1000 1110 1000 0110 1000
bit de paridad bit de paridad
99. 99
Conclusiones.
Para un usuario completamente nuevo o ajeno al área de la
informática a primera vista todo lo anterior parecerá mucho
«rollo», incluso para algunos del área informática, tal vez resulte
conveniente mencionar que aunque no lo parezca, esta ultra
compacta «iniciación» le presenta un vistazo de cómo opera a
muy bajo nivel una computadora y en general, la representación
de cualquier tipo de información que se manipula en las
computadoras. Y es este nivel, en donde tiene su origen y su
respuesta muchas de las cosas que un programador hará. Y más
importante, este es el origen de cualquier sistema de cómputo por
muy complejo que pueda ser.
A partir de este punto, el usuario interesado podría abordar el
tema con el rigor y metodología que su especialidad le requiera.