2.
- Representación de la información
Información (datos, conocimiento): valores numéricos, hechos, objetos o ideas.
Son los elementos que procesa o genera un programa de computadora.
Se expresan o representan mediante un conjunto de símbolos. Ejemplos:
temperatura: 25º
velocidad de rotación : 300 rpm
matrícula de un coche: 7784 BBZ
nombre y apellidos: José R. García
DNI: 89.976.345
caracteres alfabéticos
Representación de los datos lenguaje escrito caracteres numéricos
caracteres especiales
Codificación de la información: 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. Ejemplos:
Código postal: 04120
NIF: 89.976.345-G
Fórmula química: Na, Fe, H2O
Las computadoras internamente representan la información mediante
números en un sistema de numeración en base 2 (código binario utiliza solo
dos valores representados por 0 y 1).
Información Patrones
externa de bits
Sistemas informáticos 2 valores o estados para las variables físicas que
representan elementos de información:
Niveles de tensión: 0/3 v
Estado de magnetización: N/S
Estados emisor de luz: on/off
bit (b): dígito binario (0,1) unidad elemental de información
byte (B): (8 bits) nº de bits necesarios para codificar un carácter
Múltiplos del byte
KB Kilobyte 2 bytes = 1024 bytes ≈ 103 bytes
10
MB Megabyte 220 bytes = 1048576 bytes ≈ 106 bytes
GB Gigabyte 230 bytes = 1073741824 bytes ≈ 109 bytes
TB Terabyte 240 bytes ≈ 1012 bytes
PB Petabyte 250 bytes ≈ 1015 bytes
EB Exabyte 260 bytes ≈ 1018 bytes
1 bit 0 2=21 2 bits 00 … 8 bits 0000 0000
1 01 4= 22 0000 0001 256=28 1
10 …
11 1111 1111
2.1 Sistemas de numeración usuales en informática
Sistema de numeración Usado por
decimal (base 10) humanos
binario (base 2) computadoras
octal (base 8) computadoras (códigos intermedios)
hexadecimal (base 16) computadoras (códigos intermedios)
Sistema de numeración base b: (Sistema de numeración posicional)
Alfabeto b símbolos o cifras diferentes
Número = {cifras}
- Nº de cifras
Su valor depende de: - Valor de cada cifra
- Posición cifra dentro del número
Ej: sistema de numeración decimal
Alfabeto10 ={0,1,2,3,4,5,6,7,8,9}
Ejemplo de número decimal:
4325,12 = 4000 + 300 + 20 + 5 + 0,1 + 0,02 =
4 * 103 + 3 * 102 + 2 * 101 + 5 * 100 + 1 * 10-1 + 2 * 10-2
Generalización para cualquier base b: Alfabetob ={0,1,2,...,b-1}
N = ...n4n3n2n1n0n-1n-2n-3... = ... + n4 * b4 + n3 * b3 + n2 * b2 + n1 * b1
+ n0 * b0 + n-1 * b-1 + n-2 *b-2 + ...
Sistema de numeración base 2:
Alfabeto2 = {0,1} cifras binarias o bits
Potencias de 2
Nº decimal Nº binario 0
2 1
0 0 21 2 211 2048
1 1 22 4 2 12
4096
2 10 23 8 2 13
8192
3 11 24 16 2 14
16384
4 100 25 32 2 15
32768
5 101 26 64 2 16
65536
6 110 27 128 2 17
131072
28 256 2 18
262144
7 111 29 512 2 19
524288
210 1024 2 20
1048576 2
Transformación de binario a decimal:
(110100)2 = (1 * 25) + (1 * 24) + (1 * 22) = 32 + 16 + 4 = (52)10
Transformación de decimal a binario:
Parte entera: dividir sucesivamente por 2 y utilizar el último cociente y los
restos de las divisiones para las cifras binarias (el último cociente es el bit
más significativo y el primer resto es el bit menos significativo):
n=(n3n2n1n0)2 = n3*23+n2*22+n1*21+n0
26 2
n2 Cociente: n3*22+n2*21+n1*20
6 13 2 Resto: n0
0 1 6 2
0 3 2
(26)10 = (11010)2
1 1
Parte fraccionaria: multiplicar sucesivamente por 2 las partes fraccionarias
resultantes y utilizar las partes enteras en orden para las cifras binarias:
n=(n-1n-2n-3)2 = n-1*2-1+n-2*2-2+n-3*2-3
0,1875 0,3750 0,7500 0,5000 n*2 Parte entera: n-1
x2 x2 x2 x2 Parte fraccional: n-2*2-1+n-3*2-2
0,3750 0,7500 1,5000 1,0000 (0,1875)10=(0,0011)2
Aritmética binaria:
a b a+b a–b a*b a/b
0 0 0 0 0 indeterminado
0 1 1 1 y me adeudo 1 0 0
1 0 1 1 0 ∞
1 1 0 y me llevo 1 0 1 1
Ejercicio 1.1.5 Efectuar las siguientes operaciones binarias:
10011 + 11011
11100 – 10001
1101 * 101
1101 / 101
√1010,1001
Nota: efectuar las dos últimas operaciones con 2 cifras decimales.
Soluciones: 10011 + 11011 = 101110 11100 – 10001= 1011
1101 * 101 = 1 000 001 1101 / 101 = 10,10 (1010,1001)1/2 = 11,01
3
Representación en complementos: útiles para representar números negativos
(se reducen las restas a sumas y se simplifica el hardware)
Complemento a la base menos 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 1 del sistema
de numeración que se esté utilizando.
Ejemplos: base =10 Complemento a 9 de 63 = 36
base = 2 Complemento a 1 de 10010 = 01101
(cambiar 0 por 1 y 1 por 0)
Complemento a la base 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, y posteriormente sumar 1 a la
diferencia obtenida.
Ejemplos: base = 10 Complemento a 10 de 63 = 37
base = 2 Complemento a 2 de 10010 = 01110
Códigos intermedios:
Base octal: Alfabeto8 = {0,1,2,3,4,5,6,7}
Ejemplo: (10 001 101 100)2 = (2154)8
2 1 5 4
Base hexadecimal: Alfabeto16 = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
10 11 12 13 14 15
Ejemplo: (10 0101 1101 1111)2 = (25DF)16
2 5 D F
Ejercicio 1.1.8 Efectuar las siguientes restas en la base indicada (1)
directamente, (2) sumando al minuendo el complemento a la base menos 1 del
sustraendo, y (3) sumando al minuendo el complemento a la base del
sustraendo. Comparar los resultados obtenidos. Considerar representaciones
de 8 cifras para todos los números.
• Decimal: 1748 – 547
• Binario: 111111 – 101111
• Octal: 1743 – 547
• Hexadecimal: F8A4 – C9AA
Sist. numeración Decimal Binario Octal Hexadecimal
Resta 00001748 00111111 00001743 0000F8A4
–00000547 –00101111 –00000547 –0000C9AA
Directa 00001201 00010000 00001174 00002EFA
+CB-1(sustraendo) 00001200 00001111 00001173 00002EF9
+CB(sustraendo) 00001201 00010000 00001174 00002EFA
4
Representación de la información:
Tipos de información:
Textos: formados por símbolos (caracteres)
Datos numéricos: enteros, reales
Sonidos (audio): voz, música
Imágenes: estáticas, dinámicas (vídeo)
2.1. Representación de textos
Texto (información escrita) se representa por medio de caracteres
Categorías de caracteres:
Caracteres alfabéticos: A, B, C, ..., Z, a, b, c, ...,z
Caracteres numéricos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Caracteres especiales (símbolos ortográficos y matemáticos):
) ( , * / ; : + Ñ ñ = ! ? . “ & > # < ] Ç [ SP
Caracteres geométricos y gráficos:
|┐─♥♠♣♦░ ▒ ▓╒║╓╔╕
Caracteres de control: representan órdenes de control de
periféricos o de comunicaciones:
SP espacio en blanco
LF siguiente línea
CR retorno de carro
SYN sincronización de una transmisión
BEL campana (pitido del terminal)
...
Códigos de E/S: a cada carácter se le asocia una combinación de n bits (se fija
el tamaño de la representación)
n bits se pueden codificar 2n símbolos distintos
Códigos más utilizados:
EBCDIC (“Extended Binary Coded Decimal Interchange Code”)
utilizado en macro-computadoras IBM.
ASCII (“American Standard Code for Information Interchange”)
código estándar (7 bits 128 caracteres) reconocido por todos
los sistemas informáticos. La versión ampliada a 8 bits permite
codificar caracteres de lenguajes de Europa Occidental (además
del Inglés).
Unicode (Norma de Código Único para Caracteres Mundiales)
código estándar (16 bits 65536 caracteres) que permite
codificar cualquier carácter de cualquier idioma.
5
Código ASCII básico utiliza 7 bits
normalización ANSI X3.4-1968 e ISO 646
Ejercicio 1.1.11 Usando un editor de textos ASCII se ha creado y almacenado
en el disco duro de la computadora un archivo de texto. A continuación, y
mediante la herramienta adecuada, se visualiza su contenido sin decodificar,
esto es, el conjunto de ceros y unos en que ha sido traducido el conjunto de
caracteres escrito, para poder ser almacenado y manipulado por la
computadora. Suponiendo la salida de la herramienta de visualización en
hexadecimal, indicar cuál será el texto que se ha escrito si lo que aparece es:
31 2C 32 2C 33 0D 0A 45 53 54 4F 20 65 73 20 75 6E 61 20 70 72 75 65 62 61
2E.
Solución:
1,2,3
ESTO es una prueba.
Versiones ampliadas del ASCII básico utilizan 8 ó 16 bits respetando los
códigos normalizados de 7 bits:
8 bits (256 caracteres) ISO 8859-1 (ISO Latin-1) para América y
Europa Occidental
16 bits (65536 caracteres) Unicode para cualquier carácter mundial
Nota: Microsoft Windows página de códigos 1252 superconjunto de ISO
8859-1, pero difiere por el uso de caracteres no imprimibles en vez de
caracteres de control en el rango 0x80 a 0x9F (por defecto se utiliza la página
437)
6
Ejemplo: página de códigos ISO 8859-1 (ISO Latin-1) para América y Europa
Occidental 256 primeros caracteres del estándar ISO 10646 (Unicode)
7
Ejemplo: código ASCII extendido de la computadora IBM-PC (página 437-
inglés estadounidense):
Código Carácter Código Carácter Código Carácter Código Carácter
128 Ç 160 á 192 └ 224 α
129 ü 161 í 193 ┴ 225 β
130 é 162 ó 194 ┬ 226 Г
131 â 163 ú 195 ├ 227 π
132 ä 164 ñ 196 ─ 228 Σ
133 à 165 Ñ 197 ┼ 229 σ
134 å 166 ª 198 ╞ 230 μ
135 ç 167 º 199 ╟ 231 γ
136 ê 168 ¿ 200 ╚ 232 φ
137 ë 169 ┌ 201 ╔ 233 θ
138 è 170 ┐ 202 ╩ 234 Ω
139 ï 171 ½ 203 ╦ 235 δ
140 î 172 ¼ 204 ╠ 236 ∞
141 ì 173 ¡ 205 ═ 237 Ø
142 Ä 174 « 206 ╬ 238 ε
143 Å 175 » 207 ╧ 239 ∩
144 É 176 ░ 208 ╨ 240 ≡
145 æ 177 ▒ 209 ╤ 241 ±
146 Æ 178 ▓ 210 ╥ 242 ≥
147 ô 179 │ 211 ╙ 243 ≤
148 ö 180 ┤ 212 ╘ 244 ⌠
149 ò 181 ╡ 213 ╒ 245 ⌡
150 û 182 ╢ 214 ╓ 246 ÷
151 ù 183 ╖ 215 ╫ 247 ≈
152 ÿ 184 ╕ 216 ╪ 248 °
153 Ö 185 ╣ 217 ┘ 249 ●
154 Ü 186 ║ 218 ┌ 250 ·
155 ø 187 ╗ 219 █ 251 √
156 £ 188 ╝ 220 ▄ 252 ⁿ
157 Ø 189 ╜ 221 ▌ 253 ²
158 × 190 ╛ 222 ▐ 254 ■
159 ƒ 191 ┐ 223 ▀ 255