Está en la página 1de 19

6/09/2019

Representación de Números Naturales


Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática

Sistemas Digitales

REPRESENTACIÓN DE INFORMACIÓN.
CÓDIGOS

Ing. Armando Fermín Pérez

Operaciones binarias básicas con Números Naturales Operaciones binarias básicas con Números Naturales

1
6/09/2019

Operaciones binarias básicas con Números Naturales Desbordamiento en las operaciones

Desbordamiento en operaciones con Números Naturales Operaciones binarias básicas

2
6/09/2019

Operaciones binarias básicas Operaciones binarias básicas

Operaciones binarias básicas Operaciones binarias básicas

3
6/09/2019

Representación de Números Enteros Representación de Números Enteros

Representación de Números Enteros Representación de Números Enteros

4
6/09/2019

Representación de Números Enteros Representación de Números Enteros

Representación de Números Enteros Representación de Números Enteros

5
6/09/2019

Desbordamiento en las operaciones en Ca2 Desbordamiento en las operaciones

Representación de Números Enteros Representación de Números Enteros

6
6/09/2019

Representación de Números Enteros Representación de Números Enteros

Representación de Números Reales Representación de Números Reales

7
6/09/2019

Representación de Números Reales: Coma Flotante Representación de Números Reales: Coma Flotante

Representación de Números Reales: Estándar IEEE754 Representación de Números Reales: Estándar IEEE754

8
6/09/2019

Código Códigos Numéricos

Código: uso sistemático y de preferencia estandarizado de un • Números de Punto Fijo


conjunto se símbolos para representar información.
san-1…a1a0. => Entero
s.an-1…a1a0 => Fraccionario
Ejemplo: luces de un semáforo • Representación exceso-K:
Se forma al sumarle K a cada palabra de código
Luz Roja => ALTO
Luz Amarilla => PRECAUCIÓN
Ejemplo: Decimal Comp 2 exceso-8
Luz Verde => SIGA
+7 0111 1111
Tipos: - Códigos Numéricos
+5 0101 1101
- Códigos de Caracteres -2 1110 0110
- Códigos para detección y corrección de errores. -6 1010 0010

Códigos de Caracteres
Códigos Numéricos

• Punto Flotante
N = M * re
Donde:
M = mantisa (pto. Fijo)
r = base
e = exponente (comp. 2 con exceso-K)
e1
N  (1) sm * (an1...am ) * r (be1 ...b0 )2
N = SM , be-1…b0 , an-1 … a-m

9
6/09/2019

Códigos de Caracteres

10
6/09/2019

Códigos de Caracteres Códigos de Caracteres

• Código GRAY
• Algoritmo:
• Código GRAY • Código GRAY de 1 bits es 0, 1
• Código GRAY de n bits es:
• Un cod. Gray de n-1 bits antecedidos de un 0, seguido de,
• Un cod. Gray de n-1 bits escritos en orden inverso antecedidos de un 1.

111 000 100 000

110 001 101 001

0 0 1 0 0 1

101 010 111 011 Ejemplos: C. Gray 1 bit C. Gray 2 bits C. Gray 3 bits
0 00 000 110
100 011 110 010
1 01 001 111
11 011 101
10 010 100

11
6/09/2019

12
6/09/2019

Códigos de caracteres
A.S.C.I.I. (American Standard Code for Information Interchange)
• Es el más utilizado hoy en día
• Longitud fija, igual para todos los códigos.
• ASCII original, longitud de código de 7 bits.
• ASCII extendido, ampliación para caracteres internacionales,
con longitud de 8 bits.

E.B.C.D.I.C. (Extended Binary Coded Decimal Interchange Code)


• Surgido en 1964 con el sistema IBM S360
• Longitud fija de 8 bits
• Sólo se usa en algunos sistemas mainframe.

13
6/09/2019

Representación de Caracteres
Códigos para detectar y corregir errores
• Error: en un dato binario se define como un valor incorrecto en
uno o más bits.
Error Simple: valor incorrecto en un solo bit.
Error Múltiple: valor incorrecto en más de un bit.

• Código de paridad: ejemplos:


(P,an-1 … a0) Par: P=0 si # 1’s es par 0101101
P : Bit de paridad P=1 si # 1’s es impar 1100011
Impar: P=0 si # 1’s es impar 1101101
P=1 si # 1’s es par 0100011

Códigos de Detección de Error


• Los errores pueden suceder durante la
transmisión, de modo que si se detectan
puede solicitarse lo reenvíen.
• Con números binarios, generalmente
suceden errores de un bit. Por ejemplo: 0010
errónea-mente transmitido como 0011, o
0000, o 0110, o 1010
• El código biquinario utiliza 3 bits adicionales
para detección de errores.

14
6/09/2019

Códigos de Detección de Error


• A veces no es suficiente con detectar el error, se desearía
también corregirlo.
• La corrección de error es costoso, por lo que en la práctica se
suele corregir el error de un solo bit.
• Una técnica popular es el Código Hamming:
(i) Agregar ‘k’ bits de paridad a un número de ‘n’ bits para
formar un número de ‘n + k’ bits.
(ii) Numerar los bits de 1 a (n + k).
(iii) Los bits de la posiciones 2x son los ‘k’ bits de paridad.
(iv) Cada bit de paridad cubre a un rango de números.

Códigos de Detección de Error Códigos de Detección de Error


Ejemplo: Para números de 8 bits, se necesita 4 bits de paridad Por lo tanto:
P1 = paridad para los bits {3, 5, 7, 9, 11}
P2 = paridad para los bits {3, 6, 7, 10, 11}
P3 = paridad para los bits {5, 6, 7, 12}
P4 = paridad para los bits {9, 10, 11, 12}

Los 12 bits son numerados 0001, 0010, 0011, . . ., 1100.


Cada uno de los 4 bits de paridad son utilizados para
chequear a un grupo de bits. Cada bit de paridad es para sí
mismo y aquellos bits que tienen un ‘1’ en la posición del bit
en particular.

15
6/09/2019

Códigos de Detección de Error


Dado un número de 8 bits: 1100 0100.

Asumimos el uso de paridad par::


P1 = paridad para los bits {3, 5, 7, 9, 11} = 0
P2 = paridad para los bits {3, 6, 7, 10, 11} = 0
P3 = paridad para los bits {5, 6, 7, 12} =1
P4 = paridad para los bits {9, 10, 11, 12} = 1

Códigos Hamming
Por cada m bits de mensaje se añade r bits de
redundancia, de forma que:
r será el mínimo valor que cumpla esto.

Los bits de paridad se colocan en posiciones


potencias de 2.

16
6/09/2019

17
6/09/2019

Códigos de suma de verificación


Cuando utilizarlos? La operación de verificación de paridad son sumas módulo 2 de
bits:
Los códigos correctores se emplean cuando es muy difícil, Suma =0, si # 1´s es par
costoso, ineficiente, etc, ... pedir retransmisiones.
Suma =1, si # 1´s es impar
Hacer un código corrector es muy complicado y precisa de mucha
redundancia, por lo que se prefiere códigos detectores (que Si una computadora almacena información como conjuntos de
pueden detectar muchos fallos con poca redundancia) y al bytes de 8 bits, y cada byte tiene un valor decimal entre 0 y 255,
detectar un error entonces pedir retransmisión. entonces utilizamos suma módulo 256 para verificar los bytes,
Se suelen emplear en enlaces satélite, pues el retardo es muy
formando un byte de verificación individual, (checksum) igual a
grande y en redes de un solo sentido (televisión digital). la suma módulo 256 de todos los bits de información.

El código con checksum resultante puede detectar cualquier error


de un byte, observando diferencias entre la suma de los bytes y la
suma de verificación o checksum.

18
6/09/2019

Checksum
Probablemente uno de los métodos más antiguos de asegurar que los datos sean
correctos, los “checksums” también proveen una forma de autenticación debido a que uno
inválido sugiere que los datos han sido comprometidos de algún modo.
Un checksum es determinado de dos formas. Digamos que el checksum de un paquete es
de 1 byte de longitud. Un byte está conformado por 8 bits, y cada bit puede estar en uno
de dos estados, llevándonos a un total de 256 (28 ) posibles combinaciones. Como la
primera combinación es igual a cero, un byte puede tener un valor máximo de 255.
•Si la suma de los otros bytes en el paquete es 255 o menos, entonces el checksum
contiene el valor exacto.
•Si la suma de los otros bytes es mas de 255, entonces el checksum es igual al resto del
valor total después de haberse dividido entre 256.
Veamos un ejemplo:

Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 Total Checksum

212 232 54 135 244 15 179 80 1,151 127

• 1,151 / 256 = 4.496 (redondeado a 4)


• 4 x 256 = 1,024
• 1,151 - 1,024 = 127

19

También podría gustarte