USAL
Bloque
Bl I:
I Conceptos
C t Básicos
Bá i
Universidad de Salamanca
1- B: Sistemas de Numeración y
Codificación de la Información
1. Introducción
2. Sistemas de codificación
3. Códigos numéricos
4. Representación de datos numéricos
5. Representación de textos
6. Representaciones redundantes: corrección de errores
7. Compactación de la información
Facultad de ciencias 1
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
Sistemas de Numeración y
Codificación de la Información
1. Introducción
2. Stmas de codificación
3
3. Códigos numéricos
numéricos.
3.1. Generalidades
3.2. Sistemas de numeración
3.2.1. El sistema binario
3.2.2. Códigos intermedios
- El sistema octal
- El sistema hexadecimal
4. Representación de datos numéricos
4.1. Números en coma fija
4.1.1. Sin signo
4.1.2. Signo-magnitud
4.1.3 En complemento a uno
4.1.4. En complemento a dos
4.1.5. BCD
4.2. Números en coma flotante
4.2.1. Normalización IEEE 754
1.Introducción
Instrucciones
Clasificación de la información:
Ë Instrucciones (programas)
Ë Datos
¾ Numéricos (natural, entero, real)
¾ Alfabéticos
Se tienen dos aspectos diferenciados:
Ë Cómo se representa la información
Ë Cómo registrarla físicamente
Facultad de ciencias 2
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
1.Introducción
2.Sistemas de codificación
Codificación
Codificación: consiste en establecer unas
reglas que definen la correspondencia
entre cada elemento de información y la
secuencia de bits que constituye su código.
Sistemas básicos de codificación
ËCodificación directa
ËPor campos
ËPor secuencias de códigos
Facultad de ciencias 3
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
2. Sistemas de codificación:
Codificación directa
2. Sistemas de codificación:
Codificación por campos
Consiste en descomponer las secuencias de bits que componen cada
código en campos y codificarlos por separado mediante tablas
independientes.
Facultad de ciencias 4
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
2.Sistemas de codificación:
Secuencias de códigos. Códigos de control
3. Códigos numéricos
Sistema de numeración: el conjunto de símbolos y reglas que se
utilizan para la representación de cantidades
Base
B d
dell sistema
i t d
de numeración:
ió número de símbolos que se
utilizan para realizar la representación
Rango de representación en un sistema de numeración y con un
número de cifras determinado n, al conjunto de cantidades
representables en el mismo.
La representación de una cantidad siempre se efectúa mediante
cadenas de símbolos.
Ë Sistema posicional: cuando el significado de los símbolos varía en
función de la posición que ocupa en la cadena. ( decimal o base 10,
binario o de base 2,...)
ËSistemas de residuos
Facultad de ciencias 5
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
3. Códigos numéricos:
Teorema fundamental
3. Códigos numéricos:
Teorema fundamental
Facultad de ciencias 6
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
3.2.Sistemas
3.2. Sistemas de numeración:
Sistema decimal
Sistema decimal:
Ë Base 10: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Ë Rango de representación n cifras enteras sin signo:
0 ≤ X < 10 n
∞
X= ∑ x ⋅10 i
i
con xi = {0,1,2,3,4,5,6,7,8,9}
i = −∞
∞
3.2.Sistemas
3.2. Sistemas de numeración:
Sistema binario
Facultad de ciencias 7
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
3.2.Sistemas
3.2. Sistemas de numeración:
Sistema binario
La parte fraccionaria es
0'1875 = 0'0011)2
74'1875 = 1001010'0011)2
15 Ana Gil, Dpto.Informática y Automática.
3.2.Sistemas
3.2. Sistemas de numeración:
Sistema binario
Operaciones aritméticas en el sistema binario
S
Suma bi
binaria
i Resta binaria
Facultad de ciencias 8
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
3.2.Sistemas
3.2. Sistemas de numeración:
Sistema binario
Ejemplos: suma y resta binaria
= Acarreo
3.2.Sistemas
3.2. Sistemas de numeración:
Sistema binario
Ejemplos
Facultad de ciencias 9
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
3.2.Sistemas
3.2. Sistemas de numeración:
Códigos Intermedios
Se utilizan los sistemas de numeración octal y hexadecimal para
obtener códigos intermedios, ya que un número expresado en
cualquiera de estos dos sistemas puede transformarse fácilmente al
bi i y viceversa.
binario i
Sistema octal:
Ë Un número octal puede expresarse en binario de una forma muy sencilla
dado que b= 8= 23
Ë Para transformar un número binario a octal se forman grupos de tres
cifras binarias comenzando desde el bit menos significativo hacia el bit
más significativo. Posteriormente se realiza la conversión a octal de
cada grupo.
Ë De octal a binario se pasa sin más que convertir individualmente a
binario (tres bits) cada cifra octal, manteniendo el orden del número
original.
Octal 0 1 2 3 4 5 6 7
Tabla de conversión
19 de octal a binario
Ana Gil, Dpto.Informática y Automática.
3.2.Sistemas
3.2. Sistemas de numeración:
Códigos Intermedios
Ë Ejemplos:
¾ Convertir el número 1001101110101)2 a octal
001 001 101 110 101
1 1 5 6 5 => 1001101110101)2= 11565 )8
¾ Convertir el número 7632451)8 a binario:
7 6 3 2 4 5 1
111 110 100 010 100 101 001 => 7632451)8=
111110100010100101001)2
Sistema hexadecimal:
Ë Sistema de numeración en base 16, utiliza 16 símbolos para representar
cantidades:
0 1
0, 1, 2,
2 3,
3 4,
4 5,
5 6,
6 7,
7 8,
8 9,
9 A,
A B,
B C,
C D,
D EyF
los 10 primeros son los números decimales y tienen el mismo significado que en
numeración decimal. Los 6 últimos son letras que representan: A= 10, B= 11, C=
12, D= 13, E= 14 y F= 15
Ë Para transformar un número de hexadecimal a binario se pasa sin más que
convertir individualmente a binario (cuatro bits) cada cifra hexadecimal,
manteniendo el orden del número original
Facultad de ciencias 10
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
3.2.Sistemas
3.2. Sistemas de numeración:
Códigos Intermedios
Hexadecimal 0 1 2 3 4 5 6 7
Hexadecimal 8 9 A B C D E F
3.2.Sistemas
3.2. Sistemas de numeración:
Códigos Intermedios
Ejemplos:
Ë Convertir el número 10110101101111101)2 a hexadecimal
A7FFE241C6)16 = 1010011111111111111000100100000111000110)2
Facultad de ciencias 11
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
4. Representación de datos
numéricos
Diferentes sistemas de representación para los números Reales.
Sistemas de residuos
∑x
• Sistema posicional
X= i ⋅ 2i con x i = 0 ó 1
• Sin parte fraccionaria i = −∞
Este sistema permite representar con palabras de longitud n, todos los enteros
positivos desde 0 a 2n-1. Así su rango es [0, 2n-1] y su resolución es la unidad.
Objeciones:
• Desbordamientos: resultado de operaciones caen fuera del rango de representación
• Negatividad: Cantidades negativas no son representables por este método
4 1 2 Punto
4.1.2. P t fij
fijo con signo
i (Si
(Signo-magnitud)
it d)
Utiliza un bit de los n disponibles, que suele colocarse delante de la cifra de
mayor orden, para representar el signo
Ë 0 si el número es positivo
Ë 1 si el número es negativo
El resto de los n-1 bits representan el valor absoluto o módulo del número
24 Ana Gil, Dpto.Informática y Automática.
Facultad de ciencias 12
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
Facultad de ciencias 13
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
Las sumas y restas son sencillas, hay que tener en cuenta que si existe un
acarreo al bit n (el del signo), el resultado final deberá incrementarse en una
unidad.
Ë Ejemplo: (n=9)
i) Suma de dos cantidades negativas: ii) Suma de cantidades de distinto
-53 = 111001010 signo siendo la negativa mayor en
-23 = + 111101000 valor absoluto
-76 = 1110110010 -53 = 111001010
Hay acarreo + 1 23 = + 000010111
No hay acarreo
110110011 -30 = 111100001
53 = 000110101
iii) Suma de cantidades
de distinto signo siendo -23 = + 111101000
la positiva mayor (o 30 = 1000011101
igual) en valor absoluto Hay acarreo + 1
000011110
27 Ana Gil, Dpto.Informática y Automática.
2n n= 9 100000000
-X X=53 - 000110101
C.2 de X = 111001011 = - 53
Una manera más cómoda de hallar el cambio de signo de un número en C.2 es obtener
primero
i ell complemento
l t a1yd
despuésé iincrementar
t en una unidad
id d
Ejemplo: Representar –5 en C.2 con n = 8 bits
5 = 00000101)2
- 5 = 11111010 en C.1
- 5 = 11111010 + 1 = 11111011 en C.2
Facultad de ciencias 14
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
-53 = 111001011
-23
23 = + 111101000
-76 = 1110110011
El acarreo se desprecia
110110011
ii) Suma de cantidades de distinto signo, siendo la negativa mayor en valor absoluto:
-53 = 111001011
23 = + 000010111
No hay acarreo -30 = 111100010
iii) Suma de cantidades de distinto signo, siendo la positiva mayor (o igual) en valor
absoluto:
53 = 000110101
-23 = + 111101001
30 = 1000011110
El acarreo se desprecia
000011110
Facultad de ciencias 15
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
Ejemplo:
8 9 8 7 5)10 = 1000 1001 1000 0111 0101)BCD
Cifra
BCD
Decimal
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
Facultad de ciencias 16
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
Facultad de ciencias 17
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
Campo de signo s : El bit de signo es 0 para los positivos y uno para los
negativos
C
Campo d dell exponente
t e : se almacena
l en lla fforma d
de entero
t sesgado,
d esto
t es,
el campo del exponente e se obtiene sumando al exponente del número E un
valor constante S (el sesgo):
S = 2 ne-1 – 1; e = S + E = 2 ne-1 + E - 1
De esta forma en los ne bits reservados para el exponente se pueden incluir
exponentes positivos o negativos sin utilizar un bit explícito de signo
Ejemplo: ne=8, S = 2 7 – 1 = 128-1= 127
Facultad de ciencias 18
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
Ejemplo: sea n=16 bits y ne= 8, obtener el valor decimal correspondiente al nº,
N, cuya representación interna es:
NI 1 0011 1110 0011 110
NI=
Ë Los campos son:
s=1, luego N<0
e= 0011 1110 = 62)10 , luego E = e-S = 62 – 127 = -65
m= 0011 110, luego M = 1,0011 110)2 = 1 +2-3+ 2-4+ 2-5+2-6 = 1,234375
N= - M • 2 E = -1,234375 • 2 -65 = -3,345780142 • 10 -20
38 Ana Gil, Dpto.Informática y Automática.
Facultad de ciencias 19
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
Situaciones especiales:
Ë Cuando el campo del exponente toma su valor mínimo, e=0,
el 1 de la mantisa no se encuentra implícito, y entonces la
mantisa se almacena desnormalizada. En este caso el sesgo
es S= 2ne-1-2 el valor del exponente correspondiente a los
números no normalizados es: E= e – S= -2ne-1+2
Ë El número N = 0 se representa con todos los bits del campo
del exponente y del campo de la mantisa cero ( e=0, m=0)
Ë Si todos los bits del campo del exponente son 1 (es decir,
adquiere su valor máximo), el dato representa:
¾ Si m=0, más o menos infinito (dependiendo del valor del
signo)
¾ Si m≠0, no representa un número (es un código NaN, No a
Number). Estos patrones de bits se utilizan para almacenar
valores no válidos (resultados de operaciones tales como
raíz cuadrada de un número negativo, 0 ⋅ ∞, ∞ ⋅ ∞ )
39 Ana Gil, Dpto.Informática y Automática.
Redondeos:
Ë Los números reales son difícilmente representables
p con nm+1
cifras binarias significativasÆ redondeo
Ë Redondeo es la realización de cálculos para aproximar un
número de una precisión determinada por otro de menor
precisión, ya que se dispone de un número limitado de bits
Ë Este estándar considera como redondeo implícito el
redondeo al más próximo (se redondea por exceso o por
defecto de forma tal que el valor absoluto del error de
aproximación sea el menor ) y si el error es igual en ambos
sentidos se hace un redondeo al par (se redondea por
defecto o por exceso, de forma que el bit menos significativo
del número resultante sea 0 )
Facultad de ciencias 20
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
Precisiones:
Cuanto mayor es nm, mayor el número de cifras significativas Æ mayor es
la precisión
Simple precisión:
Ë N =32 bits, ne = 8 bits, nm = 23 bits
Ë S = 27-1 = 127
Ë El valor numérico, N, almacenado [s e m] es:
¾ Si e = 255 y m≠0, N no representa un número (NaN)
¾ Si e = 255 y m=0, N=(-1)⋅ ∞ (valores especiales)
¾ Si 0<e<255, N=(-1)s⋅ [1 ⋅ m] ⋅ 2 e-127 (número normalizado)
¾ Si e = 0 y m≠0, N=(-1)s⋅[0 ⋅ m]⋅2 -126 (número
desnormalizado)
¾ Si e = 0 y m=0, N=(-1)s⋅0 (valor cero)
Doble precisión:
Facultad de ciencias 21
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
3: Sistemas de Numeración y
Codificación de la Información
5. Representación de textos
5.1. Código EBCDIC
5 2 Códi
5.2. Código ASCII
5.3 UNICODE
7. Compactación de la información
7.1. Codificación diferencial
7.2. Codificación según frecuencia de uso
5. Representación de textos
Podemos representar cualquier información escrita (texto) por
medio de caracteres. Cinco categorías:
1. Caracteres alfabéticos: letras mayúsculas y minúsculas del abecedario inglés
A, B, C, D, E, ..., X, Y, Z, a, b, c, d, e, ..., x, y, z
2. Caracteres numéricos: están constituidos por las diez cifras decimales
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
3. Caracteres especiales: símbolos ortográficos y matemáticos no incluidos en los
anteriores
) ( ,* ; : + Ñ ñ = ¿ ¡ . < #
4. Caracteres geométricos y gráficos: símbolos o módulos para representar formas
geométricas o iconos elementales
♦ ♥ ♠⎟ ⎤ ⎦
5. Caracteres de control: órdenes de control (p
(pasar a la línea siguiente
g ((NL),
), comienzo
de línea (CR),...)
Al introducir un texto en un computador, los caracteres se codifican
con un código de entrada/salida de forma que a cada carácter se
le asocia una determinada combinación de n bits
Códigos más utilizados: EBCDIC, ASCII y UNICODE
Facultad de ciencias 22
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
5. Representación de textos
Facultad de ciencias 23
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
5. Representación de textos
5.3. UNICODE
Código
g de E/S p
propuesto
p p
por un consorcio de empresas
p y
entidades. Reconocido como estándar ISO/IEC 10646, con las
propiedades:
1. Universalidad, persigue cubrir la mayoría de lenguajes escritos
2. Unicidad, a cada carácter se le asigna exactamente un único signo
3. Uniformidad, todos los símbolos se representan con 16 bits
Algunas características:
Cada carácter Unicode está formado p
por una cadena de 16 bits
(216= 65356 símbolos)
No se contempla la codificación de caracteres de control
Incluye caracteres combinados (ã, ¼, ¥,...)
6. Representaciones redundantes:
corrección de errores
Errores, consisten en la alteración del valor de uno o varios
de los bits de código
Para detectar y corregir estos errores, se utilizan los
códigos detectores y correctores de errores
Ë Códigos detectores: aquellos que permiten detectar los errores
Ë Códigos correctores: Aquellos que permiten corregir los
errores
Las representaciones redundantes añaden información
adicional
di i l ((redundancia)
d d i )dde fforma que ell conjunto
j t
redundancia+dato guarda una cierta ley
Ë Código denso: todas las combinaciones binarias posibles tienen
significado, no admite detección de errores
Ë Código redundante o mayoritario
Facultad de ciencias 24
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
6. Representaciones redundantes:
corrección de errores
Distancia entre dos combinaciones binarias: número de bits que
deben de ser modificados en una de las combinaciones para
obtener
b lla otra
Distancia de un código binario: la menor de las distancias entre
dos combinaciones binarias. Para que un código sea capaz de
detectar algún tipo de error, la distancia debe ser superior a la
unidad
Ejemplo: codificación de las 4 primeras cifras
0 100
1 001
2 010 •Código de distancia 2
3 111
•Cualquier error de 1 bit es detectable
6.1. Paridad
Facultad de ciencias 25
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
6.1. Paridad
Ejemplo: EL SEMÁFORO
sin paridad con paridad (par) (impar)
100
Verde: 00 000
Rojo: 01 001
101
Amarillo: 10
010
110
Facultad de ciencias 26
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
Transmitir el dato 01
b5 b4 b3 b2 b1
D2 P3 D1 P2 P1
0 - 1 - ?
P1= 1
- - 1 ? -
P2= 1
0 ? - - -
P3= 0
0 0 1 1 1 Hamming
Facultad de ciencias 27
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
7. Compactación de la información
Hay casos en los que hay que almacenar o transmitir gran
cantidad de informaciónÆ complicar la codificación de la
información p
para reducir su tamaño: COMPACTACIÓN
Técnicas básicas de compactación:
Ë Codificación diferencial
Ë Codificación según frecuencia de uso
Facultad de ciencias 28
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
7. Compactación de la información:
Codificación diferencial
7. Compactación de la información:
Codificación según frecuencia de uso
Facultad de ciencias 29
TIF - Grado en Física Dpto. de Informática y Automática.
USAL
7. Compactación de la información
• Ejemplo: codificar un texto con 5 vocales con frecuencia de aparición ...
Facultad de ciencias 30