Anda di halaman 1dari 30

TIF - Grado en Física Dpto. de Informática y Automática.

USAL

Bloque
Bl I:
I Conceptos
C t Básicos
Bá i

A– Introducción y Conceptos Generales


B – Sistemas de Numeración y Codificación de la Información
C- Estructura funcional básica de un ordenador

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

3 Ana Gil, Dpto.Informática y Automática.

1.Introducción

Datos: Operandos Datos: Resultados

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

4 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 2
TIF - Grado en Física Dpto. de Informática y Automática.
USAL

1.Introducción

„ Toda comunicación con ordenador convencional


g los caracteres q
se realiza según que admitan sus
dispositivos de E/S
„ La información se representa mediante la
combinación de elementos que sólo admiten dos
estados (bit)Æ información binaria
„ Uso de agrupaciones de bits para representar los
datos en los computadores
Ë Byte: 8 bits
Ë Palabra: Tamaño de información medido en bits, que
trata el computador en paralelo

5 Ana Gil, Dpto.Informática y Automática.

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

6 Ana Gil, Dpto.Informática y Automática.

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

„ Establece una correspondencia biunívoca entre un conjunto de


símbolos y un conjunto de códigos binarios mediante una tabla
„ Si se tiene un conjunto de n elementos tales que cada uno de ello
puede tomar m valores distintos, el número Nc de combinaciones
distinta de valores que puede tomar dicho conjunto de elementos
(número de códigos posibles) viene dado por la expresión: Nc= mn

Ejemplo: Codifica en binario A, B, C, D, E


m= 2 para los elementos binarios Símbolo Código
representar 5 símbolos A 000
B 001
Nc= 22=
4<5
C 010
Nc= 23= 8 > 5 Æcódigos de 3 bits D 011
E 100

BECA= 001 100 010 000

7 Ana Gil, Dpto.Informática y Automática.

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.

Ejemplo: Codifica en binario A, B, C, D, E, a, b, c, d, e

Directa: Nc= 24= 16 >10 Por campos: 23+ 21 = 10 códigos parciales


Símbolo Código Letra Campo 1
A 0000 A 000
B 0001 B 001
C 0010 C 010
D 011 Campo 1 Campo 2
D 0011
E 100
E 0100
b= 0 0 1 1
a 0101
b 0110
Tamaño Campo 2 Código
c 0111
d 1000 Mayúscula 0
Minúscula 1
e 1001

8 Ana Gil, Dpto.Informática y Automática.

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

„ Tratamiento secuencial de códigos: determinados códigos especiales


modifican la interpretación de los que aparecen a continuación
„ Condición: los símbolos que se representan mediante los códigos de control
d b aparecer con poca ffrecuencia.
deben i

Ejemplo: Codifica en binario A, B, C, D, E, Á, É


TABLA NORMAL TABLA ESPECIAL

Letra Campo 1 Símbolo Código


A 000 Á 000
B 001 É 100
C 010
D 011
E 100
BEBÉ = 001 100 001 101 100
usar tabla
B E B É
101
especial

9 Ana Gil, Dpto.Informática y Automática.

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

10 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 5
TIF - Grado en Física Dpto. de Informática y Automática.
USAL

3. Códigos numéricos:
Teorema fundamental

„ Una cantidad X expresada en un sistema cuya base es b y que


está representada por una cadena de dígitos {xi} donde el
subíndice indica la posición de la cifra respecto a la coma y el
dígito inmediatamente a la izquierda de la coma ocupa la posición
de referencia 0. Su representación es:

X= ∑x
i = −∞
i ⋅ bi

„ Asimismo, dada una cantidad X y un sistema de representación


posicional de base b, existirá una única representación posible de
dicha cantidad en la base, con dígitos que cumplan:
0 ≤ xi < b ∀i

11 Ana Gil, Dpto.Informática y Automática.

3. Códigos numéricos:
Teorema fundamental

„ Sistema de numeración de base 10, sistema decimal: los


números se construyen
y ap partir de 10 dígitos:
g 0 1 2 3 4
5 6 7 8 9
Ë Ejemplo:
596.3= 5• 102+9• 101+6• 100+3• 10-1

„ Sistema de numeración de base 2, sistema binario: 2


dígitos: 0 1

„ Sistema de numeración de base 8, sistema octal: 8 dígitos:


0 1 2 3 4 5 6 7
Ë Ejemplo:
327.5)8= 3• 82+2• 81+7• 80+5•8-1
596.3= 215.625)10
12 Ana Gil, Dpto.Informática y Automática.

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 = −∞

13 Ana Gil, Dpto.Informática y Automática.

3.2.Sistemas
3.2. Sistemas de numeración:
Sistema binario

„ Sistema de numeración que utiliza el computador



internamente
X = ∑ xi ⋅ 2i con xi = 0 ó 1
i = −∞

„ Transformación de base binaria a decimal:


11001’01)2= 1• 24+1• 23+0• 22+0•21+1• 20+0•2-1 +1•2-2 =16+8+1+0’25= 25’ 25)10

„ Transformación de base decimal a base binaria:


Ë Parte entera: dividiendo por dos (sin obtener decimales en el cociente)
la parte entera del número decimal de partida y los cocientes que
sucesivamente se vayan obteniendo. Los restos de las divisiones y el
último cociente (siempre ceros y unos) son las cifras binarias. El
último cociente será el bit más significativo y el primer resto el bit
menos significativo
Ë Parte fraccionaria: multiplicando sucesivamente por la parte
fraccionaria del número decimal de partida y las partes fraccionarias
que se van obteniendo en los productos sucesivos. La parte
fraccionaria del número binario se forma con las partes enteras (ceros
o unos) de lo productos obtenidos.

14 Ana Gil, Dpto.Informática y Automática.

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

Transformar a binario el número decimal 74'1875:

La parte entera es 74 = 1001010)2

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

Multiplicación binaria División binaria

16 Ana Gil, Dpto.Informática y Automática.

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

17 Ana Gil, Dpto.Informática y Automática.

3.2.Sistemas
3.2. Sistemas de numeración:
Sistema binario

„ Ejemplos

18 Ana Gil, Dpto.Informática y Automática.

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

Binario 000 001 010 011 100 101 110 111

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

20 Ana Gil, Dpto.Informática y Automática.

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

Ë Para transformar un número binario a hexadecimal se forman grupos de


cuatro cifras binarias comenzando desde el bit menos significativo hacia el
bit más significativo (16=24). Posteriormente se realiza la conversión a
hexadecimal de cada grupo.

Hexadecimal 0 1 2 3 4 5 6 7

Binario 0000 0001 0010 0011 0100 0101 0110 0111

Hexadecimal 8 9 A B C D E F

Binario 1000 1001 1010 1011 1100 1101 1110 1111

Tabla de hexadecimal de octal a binario

21 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 10110101101111101)2 a hexadecimal

0001 0110 1011 0111 1101


1 6 B 7 D =>
10110101101111101)2= 16B7D)16

Ë Convertir el número A7FFE241C6)16 a binario:


A 7 F F E 2 4 1 C 6
1010 0111 1111 1111 1110 0010 0100 0001 1100 0110 =>

A7FFE241C6)16 = 1010011111111111111000100100000111000110)2

22 Ana Gil, Dpto.Informática y Automática.

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 representación Conjunto

Punto fijo con signo Naturales (con el 0)

Punto fijo con complemento a la base Enteros

Punto fijo con complemento restringido a la


Enteros
base
Sistemas posicionales

Punto fijo BCD Enteros

Punto flotante normalizado Racionales

Punto flotante no normalizado Racionales

Sistemas de residuos

23 Ana Gil, Dpto.Informática y Automática.

4.1. Números en punto fijo

4.1.1. Sin signo


„ Se corresponde
p con la representación
p en binario p
puro:

∑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

4.1. Números en punto fijo

„ Ejemplo: codificación de un número y su opuesto utilizando 9 cifras

53)10Æ 0 00110101 -53) 10 Æ 1 00110101

Signo + módulo Signo - módulo


„ Características fundamentales del sistema módulo signo:
Ë El rango de representación que se consigue con n cifras es simétrico
[-2n-1+1, 2n-1-1]
Ë Posibilidad de desbordamiento al operar lo que significa una dificultad
Ë Complicación en operaciones de suma y resta al depender de los signos y
magnitudes de los Operandos
Ë Ambigüedad al representar el 0: 1 00...00= -0 implicaría signo negativo que
es incorrecto. Esto se puede evitar prohibiendo esta cadena.

25 Ana Gil, Dpto.Informática y Automática.

4.1. Números en punto fijo:


Complemento a uno

„ Emplea del mismo modo el bit situado a la izquierda para el signo


„ En el caso de los números positivos, los n-1 bits de la dcha. representan
el módulo ((igual
g q
que el stma. módulo signo)
g )
„ La complementación del número X: (-X) = 2n - 1- X
„ El negativo de un número se obtiene complementando todos sus dígitos
(cambiando ceros por unos y viceversa), incluido el bit de signo:
53)10Æ 0 00110101 -53) 10 Æ 1 11001010

Signo + módulo Signo - módulo


„ El rango de representación es simétrico[-2n-1+1, 2n-1-1] y el cero admite
dos representaciones 000
000...00
00 ó 111
111...1
1
„ Existe la posibilidad de desbordamiento, que deberá detectarse al
operar
„ La extensión de signo se limita a repetir el bit de la izquierda:
11)10 en una palabra de 8 bits: 00001011, en 12 bits 000000001011
-11)10 en una palabra de 8 bits: 11110100, en 12 bits 111111110100
26 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 13
TIF - Grado en Física Dpto. de Informática y Automática.
USAL

4.1. Números en punto fijo:


Complemento a uno

„ 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.

4.1. Números en punto fijo:


Complemento a dos

„ Emplea el bit situado a la izquierda para el signo (0 si +, 1 si -)


„ La inversión de signo en el complemento a 2 de una cantidad X: (-X) = 2n – X
Ë Ejemplo: representar en C2 , el número –53 con n=9 bits:

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

28 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 14
TIF - Grado en Física Dpto. de Informática y Automática.
USAL

4.1. Números en punto fijo:


Complemento a dos

„ El objetivo del sistema Complemento a dos es simplificar las operaciones de suma y


resta con mezcla de números positivos y negativos, solamente hay que ignorar los bits
de acarreo superior
superior.
„ Cuidado con los acarreos ya que si se suman cantidades del mismo signo de modo que
el valor absoluto del resultado sea mayor o igual que 2n-1, el bit en la posición n del
resultado tiene el sentido de acarreo y no de bit
„ Ejemplos: (n=9)
i) Suma de dos cantidades negativas:

-53 = 111001011
-23
23 = + 111101000
-76 = 1110110011

El acarreo se desprecia
110110011

29 Ana Gil, Dpto.Informática y Automática.

4.1. Números en punto fijo:


Complemento a dos

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

30 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 15
TIF - Grado en Física Dpto. de Informática y Automática.
USAL

4.1. Números en punto fijo:


BCD (Binary Coded Decimal)
„ Los denominados códigos binario-decimales corresponden a
una codificación por campos, en la que cada campo contiene
el código de una cifra decimal
„ En el código BCD cada cifra decimal se representa por su
valor en sistema de numeración binario.
„ Como existen 10 posibles cifras decimales, del 0 al 9, cada
campo deberá tener al menos 4 bits (24 =16 >10)
„ El código BCD utilizan un mayor número de bits que el
código binario
„ En un byte se pueden representar dos dígitos decimales
denominándose esta representación de BCD empaquetada
„ Si en un byte sólo se representa un dígito decimal
(desaprovechando los cuatro bits restantes) => BCD
desempaquetada
„ En la representación BCD con signo se suelen utilizar cuatro
bits para representar el signo: 0000, positivo, 0001 negativo

31 Ana Gil, Dpto.Informática y Automática.

4.1. Números en punto fijo:


BCD (Binary
(Binary Coded Decimal)
Decimal)

„ 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

32 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 16
TIF - Grado en Física Dpto. de Informática y Automática.
USAL

4.2. Números en coma flotante

„ Representación en coma fija: la posición de la coma en el


código está fijada de antemano
„ Representación en coma flotante: codificación basada en la
notación científica para valores muy grandes o muy
pequeños, de la forma: N= M•BE
M•10E (en decimal) M•2E (en binario)

Ë recibe el nombre de coma flotante porque la posición de la


coma en el código
g es variable dependiendo
p del valor del
exponente
Ë Codificación por campos: uno contiene el valor de m o
mantisa, otro el valor de e o exponente y el bit que
contiene el signo, denominado s

33 Ana Gil, Dpto.Informática y Automática.

4.2.1. Normalización IEEE 754

„ Hasta la década de los 80 cada fabricante de


ordenadores utilizaba un sistema propio para la
representación de los números reales
„ Importancia de la existencia de los sistemas
normalizados es un estándar de aritmética en
coma flotante que cubre
Ë La representación de los Operandos
Ë La
L fforma d
de realizar
li llas operaciones
i

34 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 17
TIF - Grado en Física Dpto. de Informática y Automática.
USAL

4.2.1. Normalización IEEE 754

„ La base del exponente, queda predeterminada como


b = 2,
2 sólo es necesario almacenar mantisa (m) y
exponente (e), con sus signos respectivos
„ Se memoriza el campo del signo (sÆ1 bit), campo del
exponente (eÆne bits) y el campo de la mantisa (mÆ
nm bits)
„ Siendo n el número total de bits utilizados para
representar un número real se verifica que:
n = 1 + ne +nm
„ Orden de almacenamiento: s exponente mantisa

35 Ana Gil, Dpto.Informática y Automática.

4.2.1. Normalización IEEE 754

„ 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

Exponente(E) Exponente sesgado Exponente almacenado(e)

0 127+0=127 0111 1111


+2 127+2=129 1000 0001
-1 127-1=126 1111 1110

36 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 18
TIF - Grado en Física Dpto. de Informática y Automática.
USAL

4.2.1. Normalización IEEE 754


„ Campo de la mantisa: El exponente se ajusta de forma que el 1
más significativo de la mantisa binaria se encuentre en la posición
0 (posición de las unidades), esto es M=1
Cuando el número se encuentra de esta forma se dice que está
normalizado, de lo contrario se dice que está desnormalizado
N1= 1001,1100110 • 2 –5 = 1,0011100110 • 2 –2
N2= 0,000001101101 • 2 34 = 1,101101 • 2 28
Ë El campo de la mantisa se obtiene almacenando sólo la parte
fraccionaria del número normalizado, la parte entera (1) está
implícita y no se almacena
almacena. Se dice entonces que el número está
empaquetado
Ë La condición de normalización se expresa como: reajustar
mantisa y exponente de forma tal que se verifique:
1≤M<2 ; siendo M =[1’m]
Donde m es el valor que se almacena como mantisa
37 Ana Gil, Dpto.Informática y Automática.

4.2.1. Normalización IEEE 754


„ Las normalizaciones son necesarias para no perder precisión (cifras
significativas) en operaciones sucesivas. Esto se debe a que el número de
cifras binarias de la mantisa, nm, es fijo y conviene, por tanto, normalizar la
mantisa de forma que las cifras significativas ocupen las posiciones de mayor
peso.

„ Ejemplo: obtener los campos de mantisa con nm=12 bits


N1= 1,0011100110 • 2 –2 luego: m1Å 0011 1001 1000
N2= 1,101101 • 2 28 luego: m2Å 1011 0100 0000

„ 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

4.2.1. Normalización IEEE 754

„ 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.

4.2.1. Normalización IEEE 754

„ 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 )

40 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 20
TIF - Grado en Física Dpto. de Informática y Automática.
USAL

4.2.1. Normalización IEEE 754

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)

41 Ana Gil, Dpto.Informática y Automática.

4.2.1. Normalización IEEE 754

„ Doble precisión:

Ë n = 64 bits, ne = 11 bits, nm = 52 bits


Ë S = 210-1 = 1023
Ë El valor numérico, N, almacenado [s e m] es:
¾ Si e = 2047 y m≠0, N no representa un número (NaN)
¾ Si e = 2047 y m=0, N=(-1)⋅ ∞ (valores especiales)
¾ Si 0<e< 2047, N=(-1)s⋅ [1 ⋅ m] ⋅ 2 e-1023 (número
normalizado)
¾ Si e = 0 y m≠0, N=(-1)s⋅[0 ⋅ m]⋅2 -1022 (número
desnormalizado)
¾ Si e = 0 y m=0, N=(-1)s⋅0 (valor cero)

42 Ana Gil, Dpto.Informática y Automática.

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

6. Representaciones redundantes: corrección de


errores
6.1. Paridad
6.2. Códigos de Hamming

7. Compactación de la información
7.1. Codificación diferencial
7.2. Codificación según frecuencia de uso

43 Ana Gil, Dpto.Informática y Automática.

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

44 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 22
TIF - Grado en Física Dpto. de Informática y Automática.
USAL

5. Representación de textos

5.1. Código EBCDIC

EDCDIC (Extended Bynary Coded Decimal Interchange Code)


„ Utiliza n = 8 bits para representar cada carácter. 28 = 256
símbolos posibles a representar

5.2. Código ASCII

ASCII (American Standard Code for Information Interchange)


„ Utiliza n = 7 bitsÆ 27 = 128 combinaciones distintas
„ Se emplean versiones ampliadas de este código de 8 bits
para incluir letras exclusivas de idiomas (Alfabeto
latín/griego, latín/árabe, latín/cirílico...). ISO 8859-n
45 Ana Gil, Dpto.Informática y Automática.

5. Representación de textos (III)


Caracteres no imprimibles Caracteres 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 Conjunto de caracteres
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 Código ASCII
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 ~
Separador unidades 31 1F US 63 3F ? 95 5F _ 127 7F DEL
46 Ana Gil, Dpto.Informática y Automática.

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 (ã, ¼, ¥,...)

47 Ana Gil, Dpto.Informática y Automática.

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

48 Ana Gil, Dpto.Informática y Automática.

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

49 Ana Gil, Dpto.Informática y Automática.

6.1. Paridad

„ La paridad de un código binario está relacionada con el número de


unos que tiene éste. Si el número de unos es par, el código es de
paridad p
p par ( p
paridad impar
p en caso contrario))
„ Esta característica de los códigos se utiliza para generar códigos
detectores de errores
„ Se añade un bit adicional de paridad a un código denso, la distancia
de código pasa a ser 2 y se podrán detectar errores de un solo bit. El
bit adicional de paridad se pone a uno o a cero para conseguir que el
número total de unos sea siempre par (o siempre impar).
Ë Paridad par: añade un bit 1 si hay un número impar de unos en el código
y 0 si hay un número par.
¾ Ejemplo: dato=0110Æ bit de paridad=0
Ë Paridad impar: añade un bit 0 si hay un número impar de unos en el
código y 1 si hay un número par.
¾ Ejemplo: dato=0100Æ bit de paridad=0
„ Un error en un bit cambiará dicho número de unos de par a impar (o
viceversa) y será detectado.
50 Ana Gil, Dpto.Informática y Automática.

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

Trasmitimos Verde Si se produce error Se puede recibir


con paridad
id d par en un bit Ninguna
100
opción
000 010 pertenece al
001 código

Hemos construido un Código de distancia mínima 2,


capaz de detectar errores en 1 bit
51 Ana Gil, Dpto.Informática y Automática.

6.2. Códigos de Hamming


„ Son códigos correctores de errores,
„ cuya distancia mínima es 3
„ que permiten detectar errores de 2 bits y corregir
errores de 1 bit
„ Su idea básica consiste en añadir p bits de paridad
al código que debe protegerse, de modo que cada
uno de esos bits afecte sólo a una parte del
código A partir del valor de dichos bits puede
código.
calcularse la posición del error. En caso de no
haber error, todos los bits de paridad estarán a
cero

52 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 26
TIF - Grado en Física Dpto. de Informática y Automática.
USAL

6.2. Códigos de Hamming


„ Se transmiten n datos D1 D2 ...Dn a los que se añaden p bits de
paridad P1 P2... Pp, cumpliendo
2p ≥ n + p +1
„ El número total de bits transmitidos es n+p
„ Los bits de paridad deberán intercalarse entre los bits de
información en posiciones cuyo número de orden sea potencia
exacta de 2 (20= 1, 22 = 4, 23=8, ...)
„ A cada bit de paridad se le asocia una cadena que está formada
por los bits cuyo número de orden en binario tenga un 1 en la
misma posición que el uno del número de orden del bit de paridad
„ Cada bit de paridad resumirá la paridad de todos los bits de sus
cadena
„ Como consecuencia un bit de datos pertenecerá a varias cadenas
simultáneamente, mientras que un bit de paridad sólo pertenecerá
a su cadena asociada

53 Ana Gil, Dpto.Informática y Automática.

6.2. Códigos de Hamming


Ejemplo: Código de Hamming para corrección de un error simple en un
dato de 2 bits. n= 2
- 2p ≥ 2 + p +1=3+pÆ 23 ≥6Æ p= 3 bits de paridad
- Bits de código transmitido= n + p = 2 + 3 = 5
- Los bits de paridad ocupan las posiciones potencias de 2:

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

54 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 27
TIF - Grado en Física Dpto. de Informática y Automática.
USAL

6.2. Códigos de Hamming


Ejemplo: Código de Hamming con paridad par para corrección de un error simple
en un dato de 4 bits. (trasmitir el código 1101)Æ n= 4
- 2p ≥ 4 + p +1=5+pÆ p= 3 bits de paridad
- Bits de código transmitido= n + p = 4 + 3 = 7
- Los bits de paridad ocupan las posiciones potencias de 2:

Se recibe el dato 1110101, detectar el error si lo hay:

55 Ana Gil, Dpto.Informática y Automática.

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

56 Ana Gil, Dpto.Informática y Automática.

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

• Se utiliza cuando las unidades de información sucesivas


difieren poco entre sí.
• Se codifica la diferencia entre estas unidades de
información en lugar de ellas mismas
• Inconvenientes:
• El sistema propaga errores fácilmente
• Necesario dotar al sistema de mecanismo de arranque
• Realizar sumas y restas adicionales para codificar y
decodificar los valores
Ejemplo: dados los valores consecutivos para una señal:
155, 156, 160, 174, 180, 179, 170, 175, 177
Con codificación diferencial resultaría ser
(155) 1, 4, 14, 16, -1, -9, 5, 2
57 Ana Gil, Dpto.Informática y Automática.

7. Compactación de la información:
Codificación según frecuencia de uso

• Reduce el tamaño de la información a base de explotar las


diferencias de uso de la información.
• La técnica más popular para la eliminación de la redundancia de
codificación es la de Huffman: Cuando codificamos
individualmente los símbolos de una fuente de información,
usando esta técnica se obtienen el número más pequeño posible
de símbolos de código por símbolo de la fuente. Debido a su
facilidad de cómputo, es ampliamente utilizada en programas de
compresión como gzip, máquinas de fax y en esquemas de
compresión de imágenes como JPEG
• Algoritmo de Codificación de Huffman: Las unidades de
información más utilizadas se representan mediante códigos más
cortos que las menos utilizadas.
• Inconvenientes:
• La codificación no es única
• Los errores se propagan fácilmente
58 Ana Gil, Dpto.Informática y Automática.

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 ...

Obtener el código de cada


letra, se siguen de abajo a
arriba las líneas:
A = 00
E = 01
I = 10
O = 110
U = 111

35×2+25×2+20×2+12×3+8×3 = 220 bits frente a 100 × 3=300 bits

59 Ana Gil, Dpto.Informática y Automática.

Facultad de ciencias 30

Anda mungkin juga menyukai