Anda di halaman 1dari 53

Cdigos

Esta gua de clase fue diseada originalmente por el Ing. Jorge


Sinderman. La misma fue adecuada para el dictado en la UTN
Facultad Regional Avellaneda .

Ing. Daniel Acerbi Diciembre 2014_v2


1

ndice

Introduccin
Cdigo Gray
Cdigos para caracteres de texto
Cdigos BCD
Cdigos para nmeros
Enteros
Reales (coma flotante)
Decimales

Cdigos detectores y correctores de errores

Ing. Daniel Acerbi

Cdigos de paridad
Distancia mnima de un cdigo
Cdigos de Hamming
Cdigos de redundancia cclica
Dgitos verificadores

Ing. Daniel Acerbi - 2014

Introduccin
Un cdigo es una representacin de ciertos elementos a
travs de la asignacin a cada uno de ellos de una
combinacin determinada de smbolos (combinacin
llamada palabra del cdigo), elegidos dentro de un juego
permitido de smbolos (juego denominado alfabeto del
cdigo).
Ejemplos de cdigo son:

el cdigo posta
cdigo QR (quick response)
el cdigo Morse
el CUIL
el idioma castellano
los nmeros de cuenta bancarios
el GTIN-13 de los productos en los supermercados
el ISBN de los libros
Ing. Daniel Acerbi - 2014

Tabla de correspondencia del cdigo

Es la tabla que especifica, para cada uno de


los elementos que el cdigo representa, cul
es la palabra que lo hace. Es el equivalente
al diccionario del cdigo
Por ejemplo, en el cdigo Morse, la tabla de
correspondencia empieza as:

A
B
etc.
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

Algunas definiciones

cdigos binarios son aquellos en que el alfabeto del


cdigo lo integran los dgitos binarios, es decir, el 0 y el
1. O, en trminos ms generales, aquellos en los que el
alfabeto tiene slo dos elementos. Esto incluye al Morse
y al Braille
cdigos de bloque son aquellos en que las distintas
palabras tienen todas el mismo nmero de smbolos. No
es el caso, por ejemplo, del cdigo Morse, pero s del
CUIL (11 dgitos decimales) o el GTIN-13 (13 dgitos
decimales).
cdigos biunvocos son aquellos para los que a cada
elemento a representar le corresponde una nica
palabra de cdigo (no hay sinnimos), y a cada palabra
del cdigo le corresponde un nico elemento (no hay
polisemia, es decir, mltiples significados).
5

Ing. Daniel Acerbi - 2014

Cdigos binarios, en bloque (n bits) y


biunvocos

Pueden representar a 2n elementos distintos .


Donde n es el numero de bits de la palabra .
Hay correspondencia entre ambas columnas de la
Cdigo binario
tabla .
Cada palabra esta

Cantidad mxima de
palabras del cdigo
binarios es 2n; donde n
es el nmeros de bits de
la palabra

00

10

11

01

formada por 2 bits y


cada bit vale 0 o 1 y
estos valores son el
alfabeto del cdigo
Palabras

Este cdigo binarios es


biunvoco y de bloque
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

Cdigos binarios pesados







Son cdigos en los que cada columna tiene


asignado un valor determinado, a dicho
valor se lo denomina peso .
En este caso particular los pesos son
potencia de 2n; por ejemplo :
1= 20
2= 21
4= 22
Los pesos de las columnas se pueden
repetir .
Los pesos pueden ser valores negativos .
Con referencia a los pesos este tipo de
cdigo guarda relacin directa con el
Sistema de Numeracin Binario que vimos
anteriormente

Cdigo binario pesado


CBA
Pesos

4 21
0

000

001

010

011

100

101

110

111

0+2+0=2

4+0+1=5

4+2+1=7

Ing. Daniel Acerbi - 2014

Distancia de un cdigo


La distancia de un cdigo es la cantidad de bits que


cambia entre palabras consecutivas del mismo.
Tambin se analiza la cantidad de bits que varan
entre la ultima y la 1er. combinacin
Distancia Mnima o Distancia de Hamming :
Es la menor de las distancias del cdigo
0

00

10

11

01

1bit

1bit

En este ejemplo la
distancia de Hamming
es de 1 bit

1bit
1bit

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

Cdigos binarios estandarizados

los cdigos de cambio nico (continuos y


cclicos)
Los cdigos para representar los nmeros
decimales ( BCD )
los cdigos para representar los caracteres de
texto
los cdigos para representar los nmeros
enteros
los cdigos detectores y correctores de
errores
9

Ing. Daniel Acerbi - 2014

Codificador absoluto de ngulos


C2

cuadrante
1
2
3
4

b1
0
0
1
1

b0
0
1
0
1

C1
b0
b1

C3

C4

Fronteras en las que un defecto de alineacin de los palpadores podran producir


una salida totalmente errnea, debido al cambio de 2 bits al pasar de un sector al
otro (son posibles 00, 01, 10 y 11), dos de ellas aceptables (segn el caso) y las
otras dos inaceptables. Por ejemplo, entre el 2 y el 3er cuadrante, 01 y 10
seran aceptables, pero 00 y 11 no.
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

10

El cdigo Gray como cdigo cclico


cuadrante
1
2
3
4

b1
0
0
1
1

b0
0
1
1
0

C2

C1

b0
b1

C4

C3

Cdigo continuo es aquel cuyas palabras consecutivas difieren en un


nico bit
Cdigo cclico es aquel cdigo continuo cuya primer palabra difiere en
un nico bit de la ltima
11

Ing. Daniel Acerbi - 2014

El cdigo Gray como binario reflejado


En el sistema binario,
cada vez que se agota la
capacidad de representacin con
n bits, se incorpora un 1 a la
izquierda y se repite la secuencia
de los n bits a la derecha.
En Gray,
cada vez que se agota la
capacidad de representacin con
n bits, se incorpora un 1 a la
izquierda y se repite pero
invertida (como reflejada en un
espejo) la secuencia de los n bits
a la derecha.

Binario
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111

Gray
0
1
11
10
110
111
101
100
1100
1101
1111
1110
1010
1011
1001
1000

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

Conversin de binario a Gray


Gi = Bi Bi+1
Binario
10101110
+

11111001
Gray
13

Ing. Daniel Acerbi - 2014

Conversin de Gray a binario


Bi = Gi Bi+1
Gray
11111001
+

10101110
Binario

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

14

Simetra en el
cdigo Gray
Dada la lista de las
primeras 2n palabras del
cdigo Gray, las ubicadas
simtricamente respecto al
eje central, slo difieren en
1 bit.

Binario

Gray

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111

0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000

Ing. Daniel Acerbi - 2014

15

Cdigos cclicos

La sucesin de las 2n palabras Gray que se


pueden formar con n bits es cclica
Es cclica cualquier sucesin que surja de la
anterior eliminando simtricamente palabras
centrales o extremas (permite un cdigo
cclico de cualquier nmero par de elementos)
Con este mtodo es imposible realizar un
cdigo cclico de un nmero impar de
elementos
Los cdigos cclicos no son pesados

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

16

Cdigo Johnson


El cdigo Johnson es un
cdigo cclico,
cclico, no pesado y
se utiliza para comandar
secuencias de control y en
sealamiento luminoso .
La cantidad de palabras se
calcula como 2.n, donde n
es el numero de bits de la
palabra .

Cantidad de
palabras >
2x5 = 10;
donde 5 son
los bits de
cada
palabra del
cdigo

00000

00001

00011

00111

01111

11111

11110

11100

11000

10000

Ing. Daniel Acerbi - 2014

Cdigos para caracteres de texto


Tambin llamados cdigos alfanumricos
Deberan representar a

Las letras del alfabeto en maysculas


Las letras del alfabeto en minsculas (algunos cdigos
no las incluyen)
Las 10 cifras decimales (0 al 9)
Signos de puntuacin como , . ; : ? !
Signos matemticos como + - = / ( ) [ ] { } > <
Signos especiales como $ % * @ # & \ _ ~ |

Son ms de 64 caracteres y menos de 128, por


lo que el cdigo debera tener, al menos, 7 bits.
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

18

Cdigos normalizados para caracteres


de texto
BCDIC (6 bits, usado por IBM, no inclua las letras
minsculas)
EBCDIC (8 bits, usado por IBM)
Hollerith (12 bits, usado en las tarjetas perforadas)
Baudot (5 bits, usado en Telex, no inclua las letras
minsculas, no era biunvoco)
ASCII (7 bits, pensado para el ingls pero usable con
limitaciones en otros idiomas europeos)
ASCII extendido (8 bits, usado en las PC, con
variantes segn el idioma )
ISO 8859 (8 bits, de aceptacin internacional pero
con variantes segn el idioma)
Unicode (internacional multilenguaje)
19

Ing. Daniel Acerbi - 2014

ASCII (7 bits)
b6b5b4
b3b2b1b0
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Ing. Daniel Acerbi

000

001

010

011

100

NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI

DLE SP
0
@
DC1 !
1
A
DC2 "
2
B
DC3 #
3
C
DC4 $
4
D
NAK %
5
E
SYN &
6
F
ETB '
7
G
CAN (
8
H
EM
)
9
I
SUB *
:
J
ESC +
;
K
FS
,
<
L
GS
=
M
RS
.
>
N
US Ing. /Daniel Acerbi? - 2014 O

101

110

111

P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_

`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o

p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL

10

Caractersticas del cdigo ASCII


Incluye caracteres no imprimibles, pero que afectan la
impresin, tales como:

SP (espacio)
BS (retroceso de un espacio)
LF (alimentacin de lnea)
CR (retorno de carro, el que no implica una nueva lnea)

Incluye caracteres de control, tales como:

ACK (recibido OK)


NAK (recibido con error)
STX (comienzo del texto)
ETX (fin del texto)
BEL (sonido de timbre)

No incluye caracteres de texto usuales en idiomas distintos


del ingls. As, para otros lenguajes Europeos occidentales
se requeriran, en adicin:

Vocales acentuadas (acentos grave, agudo y circunflejo)


Diresis, , , , ,
21

Ing. Daniel Acerbi - 2014

ASCII extendidos (8 bits)


0

ASCII

1bit

7 bits

1 Otros 128 caracteres


Codepages

437 tradicional del DOS

850 europeo occidental (DOS)

858 parecida a la 850 (sale la

1252 windows europeo occidental

Ing. Daniel Acerbi

y entra el )
Ing. Daniel Acerbi - 2014

22

11

ASCII extendidos (8 bits)

ASCII

1 Otros 128 caracteres


Ing. Daniel Acerbi - 2014

Ingreso de caracteres en una PC


usando el teclado numrico
Si se mantiene presionada la tecla Alt de la PC y se
ingresa un nmero decimal por el teclado numrico,
aparece en pantalla el carcter cuyo cdigo en binario se
corresponde con el nmero decimal ingresado

Si el nmero decimal es 127 o menor, se usa el cdigo ASCII


Si el nmero decimal es mayor que 127 (y menor que 256) y no
se le coloca como primer dgito un 0, se usa el cdigo que emplea
el DOS (usualmente el codepage 850 u 858)
Si el nmero decimal es mayor que 127 (y menor que 256) y se
le coloca como primer dgito un 0, se usa el cdigo que emplea el
Windows (usualmente el codepage 1252)

Ejemplos
Alt 64  @
Alt 233 
Alt 0233 
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

24

12

Representacin de los nmeros


decimales
Cdigos BCD (Decimal codificado en binario o
Binary Coded Decimal)
Cada dgito decimal se codifica
independientemente, y de acuerdo al cdigo
adoptado con, por lo menos, 4 bits

BCD Natural
BCD Aiken
BCD Exceso 3
2 de 5
7 segmentos
Bicuinario
Ing. Daniel Acerbi - 2014

25

Cdigo BCD Natural


b3

b2

b1

b0

Los dgitos del 0 al 9 se corresponden con los


binarios respectivos expresados con 4 bits

Suele llamarse tambin cdigo 8421 en razn


de sus pesos

Ejemplo: el 718 se representa como:

0111 0001 1000

Es pesado. Es decir, el nmero representado


iguala a la suma de los pesos de las columnas
que en la palabra respectiva estn en 1. Sus
pesos son 8421
Ej. 6=4+2

Es muy utilizado en electrnica e informtica

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

26

13

Cdigo BCD Aiken


b3

b2

b1

b0

0
1

0
0

0
0

0
0

0
1

Ej. 5=2+2+1

5
6

1
1

0
1

1
0

1
0

Es autocomplementario, es decir, para hallar el


complemento a 9 de un dgito basta cambiar
todos los bits

Simplifica la resta de nmeros decimales

Dada la lista de nmeros binarios del 0 al 15


expresados con 4 bits (0000 al 1111), los dgitos
del 0 al 4 se corresponden con los primeros 5
nmeros de esa lista (del 0000 al 0100) y los
dgitos 5 al 9 con los 5 ltimos (1011 al 1111)
Es pesado, aunque con pesos curiosos: 2421

Ing. Daniel Acerbi - 2014

27

Cdigo BCD Exceso 3 (XS3)


Dada la lista de nmeros binarios del 0 al 15
expresados con 4 bits (0000 al 1111), los
dgitos se corresponden con los 10 nmeros
centrales de esa lista (del 0011 al 1100),
descartando los primeros 3 y los ltimos 3.

b3

b2

b1

b0

Podemos decir que es pesado, con pesos


8421, pero con un exceso de 3 que debe ser
descontado

Ej. 6=8+1-3

Es autocomplementario, es decir, para hallar


el complemento a 9 de un dgito basta
cambiar todos los bits
Simplifica la resta de nmeros decimales
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

28

14

Cdigo 2 de 5
b4

b3

b2

b1

b0

No es pesado. Los falsos pesos indicados


(74210) son slo a los efectos de recordar
el cdigo, y se observa que fallan para el 0
Es capaz de detectar un bit en error, pues
si al transcribirlo aparecen un nico 1 o tres
de ellos, seal que hubo algn error.
Es un cdigo detector de error o
autoverificador.
til cuando la probabilidad de introducir 1
error es baja y los errores son
independientes entre s, lo que hace que la
probabilidad de que se presente ms de 1
bit en error es despreciable

29

Ing. Daniel Acerbi - 2014

Cdigo Postal
7

0
1
4
2
8

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

30

15

Cdigo 7 segmentos
b6

b5

b4

b3

b2

b1

b0

X=01
indistintamente

31

Ing. Daniel Acerbi - 2014

Cdigo Bicuinario
N
0
1
2
3
4
5
6
7
8
9

Q0
0
0
0
0
0
1
1
1
1
1

Q3
0
0
0
0
1
0
0
0
0
1

Q2
0
0
1
1
0
0
0
1
1
0

Q1
0
1
0
1
0
0
1
0
1
0

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

Es muy utilizado
por los CI 7490 y
74390; que son
contadores
asincrnicos

32

16

Representacin de los nmeros

Naturales
Enteros
Racionales
Reales
Complejos

Magnitudes (naturales + el 0)
Enteros
caso particular de los reales

Punto flotante
par de reales

Ing. Daniel Acerbi - 2014

33

Representacin de los enteros


binarios
n bits
2n nmeros representables
2n-1-1 nmeros positivos (del 1 al 2n-1-1)
2n-1-1 nmeros negativos ( del -1 al -2n-1-1 )
El 0
Total 2n-1 nmeros representados
Sobra una combinacin!
Segn el cdigo, la combinacin sobrante se usa para:
Tener una doble representacin del 0
Representar un nmero negativo ms: (el - 2n-1)
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

34

17

Codificacin de los nmero enteros

Signo y magnitud (de uso muy poco


frecuente)
Complemento a 2
Complemento a 1 (ya fuera de uso)
Binario desplazado (o con exceso)

Ing. Daniel Acerbi - 2014

35

Complemento a 2

Los nmeros se representan utilizando los n bits


disponibles:
en el caso de nmeros positivos, tal cual su magnitud
expresada en n bits .
en el caso de nmeros negativos, como el
complemento a 2 de su magnitud

Magnitud (si 0)
Comp. a 2 de la magnitud (si 0)
n bits
El bit mas significativo indica el signo del numero
0=Numeros positicos; 1= Numeros negativos
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

36

18

Ejemplo de Ca2
 Usamos 4 bits para la representacin
El signo forma parte del
numero

+2 = 0010

Los nmeros positivos se representan


tal cual la magnitud

Representa el Signo

-2 = 1110

Magnitud 2 0010
Los nmeros negativos se representan por
el Ca2 de la magnitud

El bit mas significativo representa el signo :


0 positivo
1 negativo
Ing. Daniel Acerbi - 2014

Tabla de
correspondencia
del cdigo
Complemento a 2,
con 4 bits

Nmero
+ 111
+ 110
+ 101
+ 100
+ 11
+ 10
+1
0
-1
- 10
- 11
- 100
- 101
- 110
- 111
- 1000

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

Codificacin
0111
0110
0101
0100
0011
0010
0001
0000
1111
1110
1101
1100
1011
1010
1001
1000

38

19

Caractersticas del Cdigo Ca2


Tiene una nica representacin del 0 (todos los bits en
0, ya se le considere positivo o negativo)
Permite representar desde el 2n-1 hasta el 2n-1-1 (la
combinacin sobrante se usa para representar un
nmero negativo ms)
Dificulta las operaciones de multiplicar y dividir
Las reglas para sumar y restar:
son simples
son las mismas reglas operativas que para sumar y
restar magnitudes, aunque cambia el criterio de
validez del resultado
La comparacin se dificulta un poco porque un negativo
parece mayor que un positivo
39

Ing. Daniel Acerbi - 2014

Circunferencia numrica para nmeros


enteros en complemento a 2
-1

-2

0
000

111

001

010 +2

110

011

101
-3
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

+1

100
-4

+3
Discontinuidad

40

20

Binario desplazado o con exceso


Los nmeros se representan por la
magnitud que resulta de sumarles 2n-1 (valor
denominado desplazamiento o exceso)

N+2n-1
n bits
La norma carece de representacin de bit de signo.

41

Ing. Daniel Acerbi - 2014

Ejemplo de binario desplazado




Usamos 4 bits para la representacin

Bd = N+2n-1 ; donde N es el numero y n es el

numero de bits


+2 = 1010

+2 + 24-1 = +2 + 8 = 10
N= numero a convertir

-2 = 0110

-2 + 24-1 = -2 + 8 = 6

1010

Convertir a binario

0110

La norma carece de representacin de bit de signo.


Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

21

Nmero
+ 111
+ 110
+ 101
+ 100
+ 11
+ 10
+1
0
-1
- 10
- 11
- 100
- 101
- 110
- 111
- 1000
Ing. Daniel Acerbi - 2014

Tabla de
correspondencia
del cdigo Binario
desplazado, con 4
bits

Codificacin
1111
1110
1101
1100
1011
1010
1001
1000
0111
0111
0101
0100
0011
0010
0001
0000

43

Caractersticas del BD
Permite representar desde el 2n-1 hasta el 2n-1-1
(igual que el complemento a 2)
Tiene una sola representacin del 0
Dificulta las operaciones de multiplicar y dividir
La comparacin se facilita porque sigue las mismas
reglas que para comparar magnitudes
La palabra que corresponde a un nmero es casi la
misma que en el cdigo complemento a 2, slo
difiriendo en el bit ms significativo que es diferente
en ambos cdigos
La suma y la resta son bastante simples, pero no se
utilizan .

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

22

Suma y resta de
nmeros signados

Suma de nmeros enteros representados en el


cdigo complemento a 2
1) Las palabras correspondientes a ambos nmeros
se suman cual si fuesen magnitudes.
2) Ignorar el posible acarreo. El resultado es correcto
a menos que se presente un desborde, el que se
reconoce cuando se suman dos nmeros de igual
signo y el resultado tiene signo contrario
Para comprobar estas reglas consideraremos tres casos
Suma de dos nmeros positivos
Suma de dos nmeros negativos
Suma de dos nmeros de distinto signo
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

46

23

Desborde


Desborde es la imposibilidad de representar el resultado


de una operacin de suma o resta entre nmeros enteros
representados en el cdigo Complemento a 2, por caer el
mismo fuera del rango del cdigo.
La situacin de desborde se reconoce porque el signo del
resultado no es el esperado.
Caso de la resta

Caso de la suma
+

Ing. Daniel Acerbi - 2014

Suma de dos nmeros enteros positivos


1) Las palabras correspondientes a ambos nmeros se
suman cual si fuesen magnitudes.
2) Ignorar el posible acarreo. El resultado es correcto a
menos que se presente un desborde, el que se
reconoce cuando se suman dos nmeros de igual
signo y el resultado tiene signo contrario
0011
0011
+ 0010
+ 0110
0101
1001 desborde

La primera cuenta es (+3)+(+2)=+5 lo que es correcto


La segunda cuenta es (+3)+(+6) que debi dar +9, pero
este valor cae fuera del rango del cdigo, por lo que era
esperable el desborde (dio -7)
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

48

24

Suma de dos nmeros enteros negativos


1) Las palabras correspondientes a ambos nmeros se
suman cual si fuesen magnitudes.
2) Ignorar el posible acarreo. El resultado es correcto a
menos que se presente un desborde, el que se
reconoce cuando se suman dos nmeros de igual
signo y el resultado tiene signo contrario
1100
1100
+ 1010
+ 1110
1010
0110 desborde

La primera cuenta es (-4)+(-2)=-6 lo que es correcto


La segunda cuenta es (-4)+(-6) que debi dar -10 pero
este valor cae fuera del rango del cdigo, por lo que era
esperable el desborde (dio +6)
Ing. Daniel Acerbi - 2014

49

Suma de nmeros enteros


de distinto signo
1) Las palabras correspondientes a ambos nmeros se
suman cual si fuesen magnitudes.
2) Ignorar el posible acarreo. El resultado es correcto a
menos que se presente un desborde, el que se
reconoce cuando se suman dos nmeros de igual
signo y el resultado tiene signo contrario
1100
1100
+ 0010
+ 0111
1110
0011

La primera cuenta es (-4)+(2)=-2 lo que es correcto


La segunda cuenta es (-4)+(+7)=+3 lo que es correcto
La suma de dos nmeros de distinto signo nunca desborda
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

50

25

Introduccin a la resta de nmeros enteros


representados en Complemento a 2
1) En lugar de restar se puede sumar al minuendo el
sustraendo cambiado de signo.
2) Este cambio de signo se realiza efectuando el
complemento a 2 del sustraendo
3) De la suma, ignorar el posible acarreo. El resultado es
correcto a menos que se presente un desborde, el que
se reconoce cuando el signo del resultado no coincide
con el esperado. Es decir, cuando se restan dos
nmeros de distinto signo y el resultado no tiene el
signo del minuendo
4) Resta considerar un caso particular, el del -2n-1 que
se representa con un 1 seguido de n-1 ceros, que
cuando se complementa a 2 no cambia de signo. Sin
embargo, puede demostrarse que los pasos anteriores
tambin llegan a un resultado correcto en este caso
particular. Ms adelante volveremos sobre este punto.
Ing. Daniel Acerbi - 2014

51

Resta de nmeros enteros representados en el


cdigo Complemento a 2
1) Las palabras correspondientes a ambos
nmeros se restan cual si fuesen magnitudes
(por ejemplo, sumando al minuendo el
complemento a 2 del sustraendo)
2) Ignorar el posible acarreo. El resultado es
correcto a menos que se presente un
desborde, el que se reconoce cuando se restan
dos nmeros de distinto signo y el resultado
no tiene el signo del minuendo
Para comprobar estas reglas consideraremos 3 casos

Resta de dos nmeros positivos


Resta de dos nmeros negativos
Resta de dos nmeros de distinto signo
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

52

26

Resta de dos nmeros positivos


1) Las palabras correspondientes a ambos
nmeros se restan cual si fuesen magnitudes
(por ejemplo, sumando al minuendo el
complemento a 2 del sustraendo)
2) Ignorar el posible acarreo. El resultado es
correcto a menos que se presente un
desborde, el que se reconoce cuando se restan
dos nmeros de distinto signo y el resultado
no tiene el signo del minuendo
En el caso de restarse dos nmeros positivos, hay una
cancelacin parcial entre ellos y el resultado (ya sea
positivo o negativo) ser siempre correcto

Ing. Daniel Acerbi - 2014

53

Resta de dos nmeros negativos


1) Las palabras correspondientes a ambos
nmeros se restan cual si fuesen magnitudes
(por ejemplo, sumando al minuendo el
complemento a 2 del sustraendo)
2) Ignorar el posible acarreo. El resultado es
correcto a menos que se presente un
desborde, el que se reconoce cuando se restan
dos nmeros de distinto signo y el resultado
no tiene el signo del minuendo
En el caso de restarse dos nmeros negativos, habr
una cancelacin parcial entre ellos y el resultado (ya
sea positivo o negativo) ser siempre correcto
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

54

27

Resta de dos nmeros de distinto signo


1) Las palabras correspondientes a ambos nmeros se
restan cual si fuesen magnitudes (por ejemplo,
sumando al minuendo el complemento a 2 del
sustraendo)
2) Ignorar el posible acarreo. El resultado es correcto a
menos que se presente un desborde, el que se
reconoce cuando se restan dos nmeros de distinto
signo y el resultado no tiene el signo del minuendo
1110
equivalente a 1110
- 0101
+1011
1001
Correcto, no hubo desborde, porque se han restado
dos nmeros de distinto signo y el signo del resultado
coincide con el del minuendo
Ing. Daniel Acerbi - 2014

55

Resta de dos nmeros de distinto signo (a)


1) Las palabras correspondientes a ambos nmeros se
restan cual si fuesen magnitudes (por ejemplo,
sumando al minuendo el complemento a 2 del
sustraendo)
2) Ignorar el posible acarreo. El resultado es correcto a
menos que se presente un desborde, el que se
reconoce cuando se restan dos nmeros de distinto
signo y el resultado no tiene el signo del minuendo
1110
equivalente a 1110
- 0111
+1001
0111
Desborde, porque se han restado dos nmeros de
distinto signo y el signo del resultado no coincide con
el del minuendo
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

56

28

Resta de dos nmeros de distinto signo (b)


1) Las palabras correspondientes a ambos nmeros se
restan cual si fuesen magnitudes (por ejemplo,
sumando al minuendo el complemento a 2 del
sustraendo)
2) Ignorar el posible acarreo. El resultado es correcto a
menos que se presente un desborde, el que se
reconoce cuando se restan dos nmeros de distinto
signo y el resultado no tiene el signo del minuendo
1110
equivalente a
1110
- 0111
+ 1001
0111
Desborde, porque se han restado dos nmeros de
distinto signo y el signo del resultado no coincide con
el del minuendo
Ing. Daniel Acerbi - 2014

57

Regla alternativa para la resta


1) Las palabras correspondientes a ambos nmeros se
restan, cual si fuesen magnitudes, sumando al
minuendo el complemento a 1 del sustraendo ms
1.
2) Ignorar el posible acarreo. El resultado es correcto a
menos que la suma desborde.
Este procedimiento alternativo tiene dos ventajas:
a) es formalmente vlido inclusive para el -2n-1 (que al
complementarse a 1 se transforma en el +2n-1-1).
b) Simplifica la determinacin del desborde, pues la
resta desborda cuando lo hace la suma.

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

58

29

Cdigos Detectores y
Correctores de errores

Errores

Los sistemas electrnicos son capaces, al procesar una


informacin binaria, de introducir errores en ella .

Los errores ms habituales ocurren en los procesos de


transmisin/recepcin y de
almacenamiento/recuperacin.

Supondremos que la probabilidad p de introducir un


error en un bit en una palabra, es muy baja

Supondremos, en un principio, que los errores son


independientes. Con lo que la probabilidad de que haya
2 bits en error en una palabra es del orden de p2 y la
consideraremos insignificante
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

60

30

Modificacin de un dato en la transmisin


por el Ruido Elctrico

El Ruido Electrico, modifica el bit D (sale u 0, llega un 1)

Ing. Daniel Acerbi - 2014

Cdigos de Paridad

Ing. Daniel Acerbi

Se denominan cdigos de paridad a aquellos cdigos


binarios cuyas palabras tienen todas, o bien un nmero
par de unos, o un nmero impar de unos.
Ejemplo de cdigo de paridad par: el 2 de 5
En los cdigos de paridad la distancia de Hamming es
igual a 2
Un cdigo de paridad tiene capacidad para reconocer un
error de 1 bit en una palabra, porque en ese caso (sea
que un 0 se transform en un 1 o viceversa) se deja de
cumplir la paridad.
Todo cdigo se transforma en un cdigo de paridad si a
cada una de sus palabras se le agrega un bit adicional
elegido de manera que todas ellas tengan un nmero
par o un nmero impar de unos. Ese bit se denomina bit
de paridad.
62
Ing. Daniel Acerbi - 2014

31

Bit de paridad

Bit de paridad par o PE (parity even)


Bit de paridad impar o PO (parity odd)
Ejemplo de bit de paridad par colocado en el lugar del bit ms
significativo en el cdigo ASCII
01011001
10100101
El bit de paridad par puede calcularse como la suma mdulo 2 de
todos los bits de la palabra que se quiere proteger. Por ejemplo
para el cdigo ASCII, cuya palabra es de la forma
b6 b5 b4 b3 b2 b1 b0
resulta:

PE=b6b5b4b3b2b1b0

El eventual bit de paridad impar, sera el bit opuesto, es decir:

PO=1-PE

En una transmisin de informacin, el transmisor debe generar el


bit de paridad y enviarlo junto con la palabra a proteger.
63

Ing. Daniel Acerbi - 2014

Ejemplos de cdigos de paridad




Los datos corresponden a palabras de un cdigo


binario de 3 bits .
C

PE

PO

Paridad Par (Even)


Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

Paridad Impar (Odd)

32

Sndrome de error
En una transmisin, el receptor debe verificar si la
palabra ha llegado con la polaridad correcta o, de lo
contrario, se ha producido error.
El sndrome de error es la seal que indica, cuando vale
0, que no hubo error. Y cuando vale 1, que lo hubo.
Tratndose de paridad par, el sndrome de error valdr
0 si en el conjunto de los bits de informacin recibido y
el bit de paridad que los acompaa hay un nmero par
de unos, y valdr 0 si ese nmero es impar.
Para el caso de una palabra ASCII con paridad par,
tendremos

S=PEb6b5b4b3b2b1b0
65

Ing. Daniel Acerbi - 2014

Ejemplo de uso de paridad par con el


cdigo binario de 4 bits
GPP = D CB A

V=dPP = D CB A GPP

transmisor

El Ruido Electrico,
modifica el bit D (sale u
0, llega un 1)

Se trasmiten los 5 bits,


siendo la Pp (o PI) el bit
menos significativo
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

V o dpp (o dpi) si:


0 dato llego correcto
1 dato llego incorrecto
66

33

Cdigos de Hamming
(distancia mnima 3)
Un cdigo de distancia mnima 3 puede ser
usado:
En
en
En
en

un sistema en que slo puede haber un bit


error, para corregirlo
un sistema en que puede haber hasta 2 bits
error, para detectarlo

Ing. Daniel Acerbi - 2014

67

Implementacin de un cdigo de
Hamming
Sea un cierto cdigo al que se quiere transformar en otro de distancia
mnima 3, agregndole apropiadamente bits de paridad
Sea que el nmero de bits de informacin es I. Por ejemplo, 4
La 1 regla de Hamming establece que se necesitar un nmero P de
bits de paridad que satisfaga la expresin:

2P P+I+1
En nuestro ejemplo, P=3
La 2 regla de Hamming establece que cada bit de paridad debe
asociarse a un subconjunto de los bits de informacin tal que:
Cada bit de informacin est asociado, por lo menos, a 2 bits de
paridad (es decir, que pertenezca al menos a dos subconjuntos)
Que no haya 2 bits de informacin que pertenezcan exactamente a
los mismos subconjuntos (pero s puede un bit integrar todos los
conjuntos de que forma parte otro bit, si adems forma parte de al
menos otro conjunto).
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

68

34

Seleccin de los subconjuntos

Sigamos con nuestro ejemplo (I=4 y P=3) y


supongamos paridad par
el bit de paridad P1 se asociar con los bits de
informacin I1, I3 e I4. (P1=I1 I3 I4)
el bit de paridad P2 se asociar con los bits de
informacin I1, I2 e I3. (P2=I1 I2 I3)
el bit de paridad P3 se asociar con los bits de
informacin I2, I3 e I4. (P3=I2 I3 I4)
El transmisor genera los 3 bits de paridad y los enva
acompaando a los 4 bits de informacin

69

Ing. Daniel Acerbi - 2014

Matriz de generacin

Los subconjuntos pueden visualizarse mejor en la llamada matriz de


generacin
La segunda regla de Hamming puede reformularse diciendo que no
puede tener dos columnas iguales (lo que fuerza a que las columnas
correspondientes a los bits de informacin tengan al menos dos unos,
para distinguirse de la de los bits de paridad).
Ntese que cualquier bit que se reciba errado afectar la paridad de
ciertos subconjuntos que le son propios.
Un error en I2 afectar a los subconjuntos 2 y 3 pero no al 1
Un error en I3 afectar a todos los subconjuntos
Un error en P2 slo afectar al subconjunto 2

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

I1

I2

I3

I4

P1

P2

P3

70

35

Sndrome de error
El receptor calcula el sndrome de error para los
distintos subconjuntos, usando la misma matriz de
generacin que el transmisor

S1=P1 I1 I3 I4
S2=P2 I1 I2 I3
S3=P3 I2 I3 I4

De acuerdo al sndrome de error, y observando la


matriz de generacin, identifica al bit errado y lo
corrige.

Ing. Daniel Acerbi - 2014

71

Ejemplo 1

Bits de informacin
1001
Bits de paridad calculados
011
Bits transmitidos
1001011
Bits recibidos
1000011
Sndrome de error calculado 101
Bit errado
I4
Informacin corregida
1001
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

72

36

Ejemplo 2

Bits de informacin
1001
Bits de paridad calculados
011
Bits transmitidos
1001011
Bits recibidos
1001011
Sndrome de error calculado
000
No hubo error

Ing. Daniel Acerbi - 2014

73

Ejemplo 3

Bits de informacin
1001
Bits de paridad calculados
011
Bits transmitidos
1001011
Bits recibidos
1001010
Sndrome de error calculado
001
Bit errado
P3
Informacin correcta
1001
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

74

37

Ejemplo de uso de cdigo de Hamming


con el cdigo binario de 4 bits
Se trasmiten los
11 bits, siendo
los bits de
paridad los
menos
significativo.
Se trasmites 7
bits de info mas
4bits de
paridad; total 11
bits

Ing. Daniel Acerbi - 2014

Distancia mnima 4

La distancia mnima 4 es interesante cuando la


probabilidad de que haya un bit en error es baja y
se desea corregirlo, pero la probabilidad de que
haya dos bits en error no puede despreciarse, y
se desea detecta esa situacin.
Un cdigo de Hamming de distancia mnima 3
puede fcilmente ser modificado para tener
distancia mnima 4, para lo que se debe agregar
un bit de paridad adicional, cuyo subconjunto sea
tal que todos los bits de informacin pertenezcan
a un nmero impar de subconjuntos

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

76

38

Ejemplo de distancia mnima 4

En el caso de la matriz de generacin de la figura, un error simple


produce un sndrome de error con un nmero impar de 1s que permite
identificar al bit errado
Un error doble produce un sndrome de error con un nmero par de 1s
(slo en aquellos conjuntos en los que interviene slo uno de los bits
errados), lo que no permite corregirlo pues puede provenir de diversas
causas.
Por ejemplo, el sndrome 1010 puede deberse a:
Error en P1 y P3
I1
I2
I3
I4
P1 P2 P3 P4
Error en I4 y P4
Error en I3 y P2
1
0
1
1
1
0
0
0
Error en I1 e I2

Ing. Daniel Acerbi - 2014

77

Resumen
Un cdigo que opera en un sistema donde puede
haber hasta n bits en error:
Puede corregirlos a todos (c=n) si tiene una distancia
mnima de 2c+1
Puede detectarlos a todos (d=n) si tiene una distancia
mnima de d+1
Puede corregir los errores pequeos (c<n) y detectar
los otros si tiene una distancia mnima de c+n+1 (o
2c+d+1, donde d=n-c) son los bits adicionales en
error que exceden los c bits que puede corregir si los
bits en error no superan ese valor.
Por ejemplo, si puede haber hasta 5 bits en error
(n=5), si se quieren corregir los errores de hasta 2
bits (c=2) y slo detectar los restantes casos (d=3), la
distancia mnima debe ser 8 (2+5+1 22+3+1)
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

78

39

Errores no independientes
Hay casos de errores en rfagas debidos a una
causa comn
Un disturbio elctrico en una transmisin
Una zona daada en un material magntico

Se usan cdigos detectores de errores para


proteger bloques enteros de informacin (por
ejemplo, centenares de palabras) y no palabras
individuales
Chequeo bidimensional
Suma de comprobacin (check sum)
Chequeo de redundancia cclica (CRC)
Ing. Daniel Acerbi - 2014

79

Introduccin al Chequeo de
Redundancia cclica

Un bloque de informacin binaria puede ser interpretado como un


polinomio, cuyos coeficientes son los valores de los sucesivos bits que
forman el bloque, comenzando por el coeficiente correspondiente al
trmino de mayor grado.
As, por ejemplo, el bloque 10100011 puede ser representado por el
polinomio X7+X5+X+1, donde X es una variable ficticia que se emplea a
los fines de esta representacin.
En una transmisin, se adosar al bloque de informacin ciertos bits
redundantes. El conjunto de ambos es el vector a transmitir, el que debe
ser un polinomio divisible por otro polinomio fijo, convenido entre el
transmisor y el receptor, llamado polinomio generador.
El vector recibido debe ser verificado por el receptor para comprobar que
es divisible por el polinomio generador. De comprobarse esto, el
receptor retirar los bits redundantes y se quedar con el bloque de
informacin correcto. De lo contrario, sealar la ocurrencia de algn
error.
Al conjunto de bits redundantes adosados al bloque de informacin se lo
denomina en castellano chequeo de redundancia cclica, y en ingls
Cyclic Redundancy Check, lo que ha motivado el amplio uso de la sigla
CRC para referirse a ellos.
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

80

40

Polinomios generadores

El nmero de bits del CRC es igual al grado del polinomio


generador
Cuanto mayor es el grado del polinomio generador, mejor
es el desempeo de cdigo en cuanto a detectar los
posibles errores.
Los polinomios generadores se han estudiado de manera
de determinar los de mejor desempeo y adoptarlos como
normalizados.
En general, se desea que un polinomio de grado k detecte
todos los errores en rfagas de hasta k bits, y la gran
mayora de los errores en rfagas de tamao mayor. Los
polinomios usuales slo dejan de reconocer el 1002-k%
del total de errores posibles. Por ejemplo, un polinomio de
grado 8 adecuado, que usa un CRC de 8 bits, puede
reconocer el 99,6% de los errores.
Ing. Daniel Acerbi - 2014

81

Algunos polinomios generadores


normalizados

CRC-16
X16+X15+X2+1
Usa un CRC de 16 bits, y detecta todos los errores simples,
dobles, triples y en rfagas de hasta 16 bits, y el 99,998%
de los errores en rfagas de mayor longitud
CRC-CCITT
X16+X12+X5+1
De desempeo similar al anterior
CRC-32
X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1

Usa un CRC de 32 bits, y detecta todos los errores simples,


dobles, triples y en rfagas de hasta 32 bits, y el
99,99999998% de los errores en rfagas de ms de 32 bits.
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

82

41

Suma de polinomios
en el campo a Galois
La suma (y la resta, que es lo mismo) de
polinomios, se hace sumando (en mdulo
2) los trminos de igual grado.
X7+X5+X+1
+
X5+X4+X
X7+X4+1

10100011
+ 110010
10010001

Ing. Daniel Acerbi - 2014

83

Divisin de polinomios
en el campo a Galois
La divisin de polinomios se hace de la misma
manera que en el lgebra corriente, pero cada
coeficiente se determina en mdulo 2.
Ejemplo: X3+X+1 X3+X2+1
1011
1101
0110

1101
1

Resultado 1, resto X2+X

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

84

42

Otro ejemplo de divisin


X10+X8+X4+X3+1 X3+X2+1
10100011001
1101
01110
1101
001101
1101
00001001
1101
0100

1101
11010001

Resultado X7+X6+X4+1, con resto X2


Ing. Daniel Acerbi - 2014

85

Ejemplo de aplicacin del CRC

Supongamos realizar una transmisin, que


comprobaremos empleando CRC, del siguiente (y
minsculo) bloque de informacin

10100011 (X7+X5+X+1)

Se conviene entre transmisor y receptor emplear el


siguiente polinomio generador (por sencillez, de
grado muy inferior a los habituales):

X3+X2+1

En esas condiciones, las tareas a cargo del


transmisor y el receptor son las siguientes:
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

86

43

Funciones del transmisor (1)


1) Agrega al bloque de informacin tantos ceros
como grado k tenga el polinomio generador.
Esto prepara un campo de k bits,
momentneamente en cero, para los bits
redundantes, y es equivalente a multiplicar el
polinomio correspondiente al bloque de
informacin por Xk.
En nuestro caso, con un polinomio generador de
grado 3, el polinomio as ampliado resulta:

X10+X8+X4+X3
Ing. Daniel Acerbi - 2014

87

Funciones del transmisor (2)


2) Divide el polinomio ampliado por el polinomio
generador, observando el correspondiente resto
(de grado k-1 y, por lo tanto, con k
coeficientes). A este resto se lo denomina CRC.
En nuestro caso resulta, segn la cuenta que
sigue, un CRC igual a X2+1

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

10100011000
1101
01110
1101
001101
1101
00001000
1101
0101

1101
11010001

88

44

Funciones del transmisor (3)


3) Resta en mdulo 2 (es decir, suma) el CRC al
polinomio ampliado con los k ceros para que el
polinomio as modificado sea divisible por el
polinomio generador. Dado que los ltimos bits
de este polinomio estaban en 0 y reservados
para insertar este CRC, esta operacin es
equivalente a adosar a continuacin del bloque
de informacin los k bits correspondientes al
CRC. El conjunto de bits resultante es el vector
a transmitir.
En nuestro caso, el vector trasmitido es:
10100011101 (X10+X8+X4+X3+X2+1)
Ing. Daniel Acerbi - 2014

89

Funciones del receptor


Divide el vector recibido por el polinomio
generador, y entonces:

si el resto es nulo, suprime los ltimos k bits


del vector para recuperar el bloque de
informacin original
si el resto no es nulo, seala la ocurrencia de
error.

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

90

45

Dgitos verificadores
Usado en los cdigos cuyo alfabeto son los dgitos
decimales, en forma anloga al bit de paridad en
los cdigos binarios.

ISBN / ISSN
CUIL / CUIT
Cuentas bancarias
Etc.

Ejemplo: el CUIL tiene 11 dgitos numerados D11 a


D1. Este ltimo es el dgito verificador, el que es
elegido de manera que sea mltiplo de 11 el
polinomio:
5D11+4D10+3D9+2D8+7D7+6D6+5D5+4D4+3D3+2D2+D1
Ing. Daniel Acerbi - 2014

91

Otro ejemplo: ISBNISBN-13


Es un caso particular del GTIN-13 del pas Bookland
D13 a D1. Este ltimo es el dgito verificador

(D13+D11+D9+D7+D5+D3+D1)+
+3(D12+D10+D8+D6+D4+D2)
debe ser divisible por 10
El prefijo (D13D12D11) correspondiente a Bookland es el 978 (pero
el 979 est previsto para futuras expansiones)
El prefijo Argentina en el GTIN-13 es el 779
El prefijo en el ISSN-13 es el 977

Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

92

46

Representacin de los
nmeros reales
Punto flotante

Codificacin de los nmeros en punto


(coma) flotante
Sg M Bexp
donde:
Sg es el signo del nmero, es decir + o M es la llamada mantisa del nmero
B es la base del sistema de numeracin
empleado
exp es el exponente (un nmero entero)
M Bexp es la magnitud del nmero
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

94

47

Nmeros flotantes binarios


normalizados

Nos limitaremos a estudiar los nmeros en


punto flotante en base 2
Para evitar mltiples representaciones de un
mismo nmero, vamos a considerar
normalizados los nmeros cuyas mantisas
tienen como parte entera un 1
Es decir
1,F 2exp
Donde F es la fraccin que sigue a la coma

Ing. Daniel Acerbi - 2014

95

Formato de la palabra

Se requiere 1 bit para codificar el signo del


nmero

Se requiere una cierta cantidad de bits para


codificar el exponente entero. Cuanto ms
grande sea este nmero de bits, se obtendrn
exponentes ms extremos, es decir, mayor
rango.

Se requiere una cierta cantidad de bits para


codificar la fraccin (tcnica del 1 oculto).
Cuanto ms grande sea ese nmero de bits, se
representarn los nmeros con una mayor
precisin.
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

96

48

Ejemplo de formato de palabra


S

La palabra es de 32 bits distribuidos de la siguiente


manera:
1 bit para el signo
8 bits para el exponente entero representado en binario
desplazado en 128 unidades
23 bits para la fraccin

S es el signo (0=+;1=-)
E=exp+128
F es la fraccin
El nmero resulta:

(-1)S1,F2E-128
Ing. Daniel Acerbi - 2014

97

Estudio del cdigo propuesto

El valor mnimo de la mantisa (M=1,F) es 1 (F=0)


El valor mximo de la mantisa es casi 2 porque la
fraccin llega a ser casi 1 (F=0,111111.1111).
Exactamente es 2- 2-232.
El valor mnimo del exponente es -128 (E=0)
El valor mximo del exponente es +127 (E=255)
El nmero ms grande que se puede representar es
aproximadamente 22+127=2+128
El nmero positivo ms chico que se puede representar
es 2-128
No se puede representar el 0
No se puede representar el
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

98

49

Standard IEEE 754 de 32 bits


Parte del cdigo que hemos presentado y lo modifica
como sigue:
El desplazamiento del exponente lo reduce a 127 unidades
Reserva en el campo E el valor 0 para los nmeros
desnormalizados y el 0
Reserva en el campo E el valor 255 para el infinito (con
F=0) y para cosas que no son un nmero (NAN), por
ejemplo 0 (con F0)
Define que nmeros menores que el mnimo nmero
normalizado (incluso el 0) pueden representarse en forma
desnormalizada, en la que la parte entera de la mantisa es
0. Esto se logra a expensas de la precisin, que en los
desnormalizados es menor que la de los normalizados por
tener menos cifras significativas.

Ing. Daniel Acerbi - 2014

99

Norma IEEE; casos en que E0


E=255

Si F=0 representa al ms/menos infinito (segn el


signo)
Si F0 representa un NAN

1E 254 es el caso de los nmeros normalizados


1,F2E-127

El mximo nmero positivo normalizado, ahora es


aproximadamente
22254-127=2128 (igual que antes)
El mnimo nmero positivo normalizado, ahora es
21-127=2-126 (antes era 2-128)
El valor mnimo representable en forma normalizada ha
aumentado en un factor 4, pero ahora se podrn
representar nmeros mucho ms pequeos en forma
desnormalizada.
100
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

50

Norma IEEE; caso en que E=0


Corresponde a los nmeros desnormalizados,
caracterizados por:
ser utilizados para representar los nmeros
ms pequeos
tener su mantisa una parte entera nula
tener un exponente fijo, de valor tal que el
mximo nmero desnormalizado sea apenas
inferior al mnimo normalizado
tener como caso particular el 0, que
corresponde a F=0

Ing. Daniel Acerbi - 2014

101

Norma IEEE; caso en que E=0


La mxima mantisa de un desnormalizado es
0,111111111, es decir casi 1, y con un exponente
apropiado debe ser apenas inferior al mnimo
normalizado que es 2-126
El exponente fijo de los desnormalizados es
-126
Los desnormalizados son, entonces, de la forma
0,F2-126
La frmula anterior, cuando F=0, corresponde al
nmero 0
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

102

51

Ejemplo 1
Cmo se representa en el cdigo IEEE de 32 bits el nmero binario 1100,1?
Al nmero solicitado, para llevarlo a forma normalizada, se le debe
correr la coma tres lugares a la izquierda, quedando con:
signo exponente +3
mantisa 1,1001
Entonces resulta que:
el bit de signo es un 1.
el exponente se debe representar por +3 desplazado en 127 unidades,
es decir por la magnitud 130, que en binario y con 8 bits se escribe
10000010.
la fraccin, luego de suprimir el 1 oculto y agregar a la derecha los
ceros necesarios para completar los 23 bits, queda
10010000000000000000000
Es decir que la palabra que representa al -1100,1 es
11000001010010000000000000000000
103
Ing. Daniel Acerbi - 2014

Ejemplo 2
Cmo se representa en el cdigo IEEE de 32 bits el nmero binario
+0,000000101 ?
Al nmero solicitado, para llevarlo a forma normalizada, se le debe
correr la coma siete lugares a la derecha, quedando con:
signo +
exponente -7
mantisa 1,01
Entonces resulta que:
el bit de signo es un 0.
el exponente se debe representar por -7 desplazado en 127 unidades,
es decir por la magnitud 120, que en binario y con 8 bits se escribe
01111000.
la fraccin, luego de suprimir el 1 oculto y agregar a la derecha los
ceros necesarios para completar los 23 bits, queda
01000000000000000000000
Es decir que la palabra que representa al +0,000000101 es
00111100001000000000000000000000
104
Ing. Daniel Acerbi - 2014

Ing. Daniel Acerbi

52

Ejemplo 3
A que nmero representa en el cdigo IEEE de 32 bits la palabra
00000000000001100000000000000000?
El

nmero buscado:
Es positivo
Es desnormalizado (E=0), por lo que su exponente es -126
Su mantisa es 0,000011 (no hay 1 oculto)
Si se corre la coma 6 lugares a la derecha, quedan:
la mantisa binaria, en 11 (es decir, 3 en decimal)
el exponente en -132
Es decir que la palabra dada representa al

32-132

Ing. Daniel Acerbi - 2014

105

Fin de la presentacin
Cdigos

106

Ing. Daniel Acerbi

53

Anda mungkin juga menyukai