3.- Códigos binarios fundamentales

 

Un código no es mas que una representación de las cantidades de forma que a cada una se le asigna una combinación de símbolos. Por lo tanto cada sistema de numeración constituye un código como puede ser el sistema binario, cuya descripción fue hecha con anterioridad. Bien, pues basado el sistema binario existen distintos códigos que son de gran utilidad en sistemas digitales e informáticos, los cuales vamos a describir a continuación.

 

3.1.-Código binario natural

 

DECIMAL

BINARIO

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

10

1010

11

1011

12

1100

13

1101

14

1110

15

1111

Tabla 3

 

 

 

3.2.-Código BCD natural

 

También llamado 8421 y ponderado porque a cada posición que ocupen las cifras binarias se le asigna un valor llamado peso, de tal forma que sumando los pesos se obtiene el numero decimal equivalente.

Al hacerse necesario el mostrar los datos en formato decimal, se necesita tantos elementos como dígitos tenga el dato, ejemplo las calculadoras, donde la visualización de los datos se realiza mediante visualizadores display de siete segmentos.

En estas aplicaciones aquellos códigos que hacen que se representen cada uno de estos dígitos decimales, se denominan códigos BCD, significando decimal codificado en binario (Binary Coded Decimal).

Entre estos códigos, el de más interes práctico, encontramos e l BCD natural, que basa en rpresentar cada dígito decimal a su correspondiente binario natural. Cada dígito corresponde a un grupo de 4 bits.

Se requiere que los datos de entrada decimales, sean convertidos internamente a BCD. Para obtener los datos se requiere una conversión inversa. (pasar de BCD a decimal)

Para realizar esto se requieren unos circuitos integrados (CI) codificadores y decodificadoresque junto con los display, permiten operar en el sistema decimal, aunque el aparato lo haga internamente en binario.

El código BCD es un código ponderado; a cada bit le corresponde un valor (peso) de acuerdo con la posición que ocupa, igual que el binario natural. Los pesos son: 8-4-2-1.

 

DECIMAL

8.4.2.1

  

0

0000

 

1

0001

 

2

0010

Los pesos correspondientes

a cada posición son los

indicados en la parte superior

de la tabla que a su vez

le da nombre.

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

 

9

1001

 

Tabla 4

 

Para poder representar un numero mayor de 9 haría falta otro bloque de 4 dígitos binarios ( 4 bits). Por lo tanto para representar una cantidad en BCD se necesita un numero mayor de bits que en el código binario natural, por lo que este código esta limitado a diseño de sistemas digitales de 4 bits.

 

Ejemplo 1.- Sea el numero 4710  a    BCD natural  

 

            4 - 0100           

            7 - 0111 

 

 4710 = 01000111(BCD)

 

Ejemplo 2.- Sea el numero 12310 a  BCD natural  

 

            1- 0001        

            2- 0010

            3- 0011

 

 

  Luego:         12310 = 000100100011(BCD)

 

 

3.3.- Código BCD Aiken 2.4.2.1

 

En este código estriba su diferencia en el valor de los pesos, y cada una de sus posiciones. Este código se dice que es “ autocoplementario” y esto significa que la combinación correspondiente al complemento a 9 de un numero “n” (9-n) se obtiene invirtiendo la combinación de “n” , es decir, cambiando los “1” por los “0”.

 

Veamos un ejemplo:

El numero 2 en Aiken es el 0010 y su complemento a 9 seria: 9-2 = 7 que se representa precisamente como 1101 justo igual que el anterior pero, invirtiendo los unos por los ceros.

 

 

 

DECIMAL

AIKEN   2.4.2.1


 

0

0000

 

1

0001

 

2

0010

Los pesos correspondientes

a cada posición son los

indicados en la parte superior

de la tabla.

3

0011

4

0100

5

1011

6

1100

7

1101

8

1110

 

9

1111

 

Tabla 5

 

 

3.4.- Código BCD 5.4.2.1

 

Este Código sólo se diferencia en el valor de los pesos:

 

DECIMAL

BCD   5.4.2.1


 

0

0000

 

1

0001

 

2

0010

En este caso los pesos varían

de valor siendo en cada caso

los correspondientes a cada

posición indicados en la primera

fila de la tabla.

3

0011

4

0100

5

1000

6

1001

7

1010

8

1011

 

9

1100

 

Tabla 6

 

 

                                                                              

3.5.- Código BCD Exceso Tres

 

 

Este tipo de código tiene la particularidad que cada numero se obtiene sumando tres a la configuración correspondiente al numero binario natural, es por lo tanto un código no ponderado y además es ponderado como en el caso de código Aiken, no exiten el 0000 ni el 1111, lo cual es una ventaja ya que estos estados se dan por falta de alimentación o por averia según se trate de la tecnología TTL o MOS.

 

 

DECIMAL

BCD EXCESO TRES

0

0011

1

0100

2

0101

3

0110

4

0111

5

1000

6

1001

7

1010

8

1011

9

1100

Tabla 7

 

3.6.- Códigos detectores de Errores

 

Son aquellos que al recibirse configuraciones no correctas pero pertenecientes al mismo, se pueden corregir, indicando que existe error.

Distancia entre dos configuraciones.- Se define de esta forma al numero de bits que hay que modificar para pasar de una a otra, de tal forma como se ve en el siguiente ejemplo:

 

 

 

 

 

 

 

}

 

 

La distancia entre ambos números es de 4

 

 

 

 

1 0 1 0 1

 

 

0 1 1 1 0

 

 

 

 

 

 

 

 

Código Continuo.- Se da este caso y así se denomina cuando la distancia entre dos configuraciones es la unidad.

Los códigos detectores de error fundamnetales son los códigos de paridad y de código constante.

 

3.7.-Códigos de paridad

 

Son los que añade un bit más, llamado bit de paridad, de tal forma que cada configuración de este código tenga la misma paridad. Es decir, que el numero de “unos” sea par para cada configuración. Para aclarar este concepto veamos el siguiente ejemplo:

 

BCD Natural

Bpp

 Bit de paridad par

0

0000

0

 

 

 

1

0001

1

 

De la misma forma se podría

poner un bit de paridad impar.

Supongamos que el numero

610 = 0110 en caso de error

sea 610 = 0111½0 , sería impar

por lo que se detectaría

fácilmente el error en su

configuración.

 

2

0010

1

 

 

3

0011

0

 

 

4

0100

1

 

 

5

0101

0

 

 

6

0110

0

 

 

7

0111

1

 

 

8

1000

1

 

 

9

1001

0

 

 

                   Tabla 9

 

3.8.-Códigos de Peso Constante

 

Son códigos en los que tienen el mismo numero de unos (1), en todos las configuraciones por lo tanto es muy simple detectar errores, para esto existen dos tipos fundamentales:

El código “2 entre 5” el cual contiene dos unos en cada numero binario de cinco dígitos y el código biquinario, que también contiene dos unos entre sus siete dígitos de cada configuración binaria.

La forma de detectar errores en estos casos , de la misma manera que en los de paridad, es mediante la función O-exclusiva, la cual se estudiará más adelante. Consiste en una función en que su resultado es “1” si el numero de “unos” de sus variables es impar y “0” si es par. Veamos su representación en la tabla 10 y la tabla 11 para comprender rápidamente lo expuesto.

 

 

 

Código 2 entre 5

 

Código Biquinario

Dec

2 entre 5

 

Dec

5043210

0

01100

 

0

0100001

1

11000

 

1

0100010

2

10100

 

2

0100100

3

10010

 

3

0101000

4

01010

 

4

0110000

5

00110

 

5

1000001

6

10001

 

6

1000010

7

01001

 

7

1000100

8

00101

 

8

1001000

9

00011

 

9

1010000

Tabla 10

 

Tabla 11

 

3.9.- Códigos Correctores de Errores  

 

Para corregir un error es necesario indicar en que punto o bit se encuentra el error; para ello se utilizan estos códigos correctores, los mas importantes son los Hamming. Su distancia minima debe ser 2 (para corregir errore en un bit la distancia minima será de 2n+1).

 

Estos parten de un código cualquiera como puede ser el BCD natural y se le añaden unos bits ( que junto con los bits “n” del BCD forman un nuevo código, el cual mediante unas determinadas fórmulas se obtienen unos bits “C” ) que han de cumplir que la cantidad que forman ( en decimal) sea cero cuando halla error y en caso de que no sea cero indicará que hay error y el nº que forma indicará el bit en le que esta el error.

Si Partimos del bcd natural n= 4bits, el nº de bits “p” que habrá que añadir debe ser tal que haga que 2p ≥ n + p + 1, ya que c = p

 

3.10.-Códigos Continuos y Cíclicos

CODIGO GRAY y Jhonson

 

Este código resulta interesante en aplicaciones industriales , ya que reduce las posibilidades de fallos por errores en el código. Se emplea codificadores de posición de un eje, obteniendo una combinación binaria correspondiente a una posición angular, algo muy utilizado en robotica y en conversiones de magnitudes analógicas a digitales.

Se denomina como código progresivo, en los que cada combinación difiere de la anterior y siguiente en uno de sus dígitos. También conocido como códigos continuos, cuando en la primera y última combinación difieren en un solo bit y se les denomina cíclicos.

 

Es un código continuo porque la diferencia entre configuraciones consecutivas es de uno y ciclico porque la ultima combinación precede a la primera.

Una de las aplicaciones más empleadas es en los transconductores de posición, angular o lineal. En robótica, las posiciones angulares de los ejes se detectan mediante unos discos codificados (encoders) que proporcionan una combinación binaria de cófigo Gray correspondiente a una posición, pueden dar información sobre la velocidad del movimiento.

 

Si la detección es óptica, en el disco se encuentran sectores transparentes y opacos, en una de las caras se aplica una fuente de luz (fototransistores) y dependiendo de la posición del disco, la luz llegará a uno u otros sensores, según la posición del disco se produciran diferentes combinaciones de sensores activados y no activados.

 

Dec

GRAY

 

Dec

Jhonson

0

0000

 

0

00000

1

0001

 

1

00001

2

0011

 

2

00011

3

0010

 

3

00111

4

0110

 

4

01111

5

0111

 

5

11111

6

0101

 

6

11110

7

0100

 

7

11100

8

1100

 

8

11000

9

1101

 

9

10000

10

1111

 

Tabla 13

11

1110

 

 

 

12

1010

 

 

 

13

1011

 

 

 

14

1001

 

 

 

15

1000

 

 

 

Tabla 12

 

 

 
 
 

CÓDIGOS ALFANUMÉRICOS.

 

Son aquellos que permiten la codificación de letra y signos especiales, como las letras y signos que aparecen en la pantalla de un ordenador también operan en binario y existe una codificación binaria de la información alfanumérica.

 

Los símbolos A, B , # ,=, /,%, también les corresponden ciertas combinaciones binarias, a cada uno de esta simbología codificada se le denomina carácter.

 

El código alfanumérico más popular es el denominado ASCII ( American Standard Code for Information Interchange). Código de 7 caracteres, más 1 de control (paridad).

 

Es el más utilizado en los ordenadores, así cuando pulsamos una tecla e el teclado, estamos enviando al procesador un código binario.

 

3.11.-Código Alfanumérico ASCII

 

 

654321

ASCII

 

 

654321

ASCII

0

000000

a

 

32

100000

đ

1

000001

A

 

33

100001

׀

2

000010

B

 

34

100010

>> 

3

000011

C

 

35

100011

#

4

000100

D

 

36

100100

$

5

000101

E

 

37

100101

%

6

000110

F

 

38

100110

&

7

000111

G

 

39

100111

/

8

001000

H

 

40

101000

(

9

001001

I

 

41

101001

)

10

001010

J

 

42

101010

*

11

001011

K

 

43

101011

+

12

001100

L

 

44

101100

,

13

001101

M

 

45

101101

-

14

001110

N

 

46

101110

.

15

001111

O

 

47

101111

/

16

010000

P

 

48

110000

0

17

010001

Q

 

49

110001

1

18

010010

R

 

50

110010

2

19

010011

S

 

51

110011

3

20

010100

T

 

52

110100

4

21

010101

U

 

53

110101

5

22

010110

V

 

54

110110

6

23

010111

W

 

55

110111

7

24

011000

X

 

56

111000

8

25

011001

Y

 

57

111001

9

26

011010

Z

 

58

111010

:

27

011011

[

 

59

111011

;

28

011100

\

 

60

111100

29

011101

]

 

61

111101

=

30

011110

 

62

111110

31

011111

 

63

111111

?

Tabla 7


 
 
 
 
 
 
 
 
 















Pique encima de la tabla para verla mejor

TIPOS DE CÓDIGOS BINARIOS

Pique encima de tabla para verla mejor

Relación entre códigos binarios
Realción entre códigos binarios