Vous êtes sur la page 1sur 13

Julio parte 4

Binary-Coded Decimal (BCD) o Decimal codificado en binario


es un estndar para representar nmeros decimales en el sistema binario, en
donde cada dgito decimal es codificado con una secuencia de 4 bits. Con esta
codificacin especial de los dgitos decimales en el sistema binario, se pueden
realizar operaciones aritmticas como suma, resta, multiplicacin y divisin de
nmeros en representacin decimal, sin perder en los clculos la precisin ni
tener las inexactitudes en que normalmente se incurre con las conversiones de
decimal a binario puro y de binario puro a decimal. La conversin de los
nmeros decimales a BCD y viceversa es muy sencilla, pero los clculos en
BCD se llevan ms tiempo y son algo ms complicados que con nmeros
binarios puros.

Representacin bcd
Cada dgito decimal tiene una representacin binaria codificada con 4 bits:
Decimal: 0 1 2 3 4 5 6 7 8 9
BCD: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Los nmeros decimales, se codifican en BCD con los bits que representan sus
dgitos.
Por ejemplo, la codificacin en BCD del nmero decimal 59237 es:
Decimal: 5 9 2 3 7
BCD: 0101 1001 0010 0011 0111
La representacin anterior (en BCD) es diferente de la representacin del
mismo nmero decimal en binario puro:
1110011101100101

Fundamentos del cdigo


En BCD cada cifra que representa un dgito decimal (0, 1,...8 y 9) se representa
con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es as porque
es el nmero de bits necesario para representar el nueve, el nmero ms alto
que se puede representar en BCD). En la siguiente tabla se muestran los
cdigos BCD ms empleados:

Julio parte 4

Decimal

Natural

Aiken

5421

Exceso 3

0000

0000

0000

0011

0001

0001

0001

0100

0010

0010

0010

0101

0011

0011

0011

0110

0100

0100

0100

0111

0101

1011

1000

1000

0110

1100

1001

1001

0111

1101

1010

1010

1000

1110

1011

1011

1001

1111

1100

1100

Como se observa, con el BCD slo se utilizan 10 de las 16 posibles


combinaciones que se pueden formar con nmeros de 4 bits, por lo que el
sistema pierde capacidad de representacin, aunque se facilita la compresin
de los nmeros. Esto es porque el BCD slo se usa para representar cifras, no
nmeros en su totalidad. Esto quiere decir que para nmeros de ms de una
cifra hacen falta dos nmeros BCD.
Aplicacion
Muchas de las aplicaciones de las computadoras dgitales requieren la
manipulacin de datos que constan no slo de nmeros, sino tambin de letras.

Julio parte 4

Para representar cadenas de caracteres alfabticos ers necesario tener un


cdigo binario para el alfabeto. Adems el mismo cdigo binario debe
representar nmeros y algunos otros caracteres especiales.

Codigo Gray
El cdigo binario reflejado o cdigo Gray, nombrado as en honor del
investigador Frank Gray, es un sistema de numeracin binarioen el que dos
valores sucesivos difieren solamente en uno de sus dgitos.
El cdigo Gray fue diseado originalmente para prevenir seales ilegales
(seales falsas o viciadas en la representacin) de
losswitches electromecnicos, y actualmente es usado para facilitar
la correccin de errores en los sistemas de comunicaciones, tales como
algunos sistemas de televisin por cable y la televisin digital terrestre.

Conversiones

Secuencia

Binario

Gray

Secuencia

Binario

Gray

0000

0000

1000

1100

0001

0001

1001

1101

0010

0011

10

1010

1111

0011

0010

11

1011

1110

0100

0110

12

1100

1010

Julio parte 4

0101

0111

13

1101

1011

0110

0101

14

1110

1001

0111

0100

15

1111

1000

Base 2 a Gray
Para convertir un nmero binario (en Base 2) a cdigo Gray, simplemente se le
aplica una operacin XOR con el mismo nmero desplazado un bit a la
derecha, sin tener en cuenta el acarreo.
Ejemplo: 1010 (Base 2) a gray
1010
1010
---1111

Otros ejemplos 0111(Base 2) a gray :


0111
0111
-----0100
110101010001
110101010001
-----------101111111001
Cdigo Hamming
Si se aaden junto al mensaje ms bits detectores-correctores de error y si
esos bits se pueden ordenar de modo que diferentes bits de error producen
diferentes resultados, entonces los bits errneos podran ser identificados. En
un conjunto de siete bits, hay slo siete posibles errores de bit, por lo que con
tres bits de control de error se podra especificar, adems de que ocurri un
error, en qu bit fue.
Por ejemplo, la paridad incluye un solo bit para cualquier palabra de datos, as
que las palabras del Cdigo ASCII que son de siete bits, Hamming las describa
como un cdigo (8.7), esto es, un total de 8 bits de los cuales 7 son datos.

Julio parte 4

Hamming (7,4)
El cdigo de Hamming agrega tres bits adicionales de comprobacin por cada
cuatro bits de datos del mensaje.
El algoritmo de Hamming (7.4) puede corregir cualquier error de un solo bit,
pero cuando hay errores en ms de un bit, la palabra transmitida se confunde
con otra con error en un slo bit, siendo corregida, pero de forma incorrecta, es
decir que la palabra que se corrige es otra distinta a la original, y el mensaje
final ser incorrecto sin saberlo.
Algoritmo
El algoritmo es el siguiente:
1. Todos los bits cuya posicin es potencia de dos se utilizan como bits de
paridad (posiciones 1, 2, 4, 8, 16, 32, 64, etc.).
2. Los bits del resto de posiciones son utilizados como bits de datos (posiciones
3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.).
3. Cada bit de paridad se obtiene calculando la paridad de alguno de los bits de
datos. La posicin del bit de paridad determina la secuencia de los bits que
alternativamente comprueba y salta, a partir de ste, tal y como se explica a
continuacin. Posicin 1: salta 0, comprueba 1, salta 1, comprueba 1, etc.
Posicin 2: salta 1, comprueba 2, salta 2, comprueba 2, etc.
Posicin 4: salta 3, comprueba 4, salta 4, comprueba 4, etc.
Posicin 8: salta 7, comprueba 8, salta 8, comprueba 8, etc.
Posicin 16: salta 15, comprueba 16, salta 16, comprueba 16, etc.
Regla general para la posicin n es: salta n-1 bits, comprueba n bits, salta n
bits, comprueba n bits...

Consideremos la palabra de datos de 7 bits "0110101". Para ver cmo se


generan y utilizan los cdigos Hamming para detectar un error, observe las
tablas siguientes. Se utiliza la d para indicar los bits de datos y la p para los de
paridad.
En primer lugar los bits de datos se insertan en las posiciones apropiadas
y los bits de paridad calculados en cada caso usando la paridad par.

Julio parte 4

La nueva palabra de datos (con los bits de paridad) es ahora "10001100101".


Consideremos ahora que el bit de la derecha, por error, cambia de 1 a 0. La
nueva palabra de datos ser ahora "10001100100".

Si se analiza en la tabla anterior la paridad que se debe obtener a la derecha


tras la llegada del mensaje sin errores debe ser siempre 0 (por cada fila), pero
en el momento en que ocurre un error esta paridad cambia a 1, de all el
nombre de la columna "prueba de paridad 1". Se observa que en la fila en que
el cambio no afect la paridad es cero y llega sin errores.
El paso final es evaluar los bits de paridad (recuerde que el fallo se encuentra
en d7). El valor entero que representan los bits de paridad es 11 (si no hubieran
ocurrido errores este valor seria 0), lo que significa que el bit dcimo primero de
la palabra de datos (bits de paridad incluidos) es el errneo y necesita ser
cambiado.

Julio parte 4

El cdigo ASCII
utiliza 7 bits para representar los caracteres, aunque inicialmente empleaba un
bit adicional (bit de paridad) que se usaba para detectar errores en la
transmisin. A menudo se llama incorrectamente ASCII a otros cdigos de
caracteres de 8 bits, como el estndar ISO-8859-1, que es una extensin que
utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas
distintos al ingls, como el espaol.

Los caracteres de control ascii


El cdigo ASCII reserva los primeros 32 cdigos (numerados del 0 al 31 en
decimal) para caracteres de control: cdigos no pensados originalmente para
representar informacin imprimible, sino para controlar dispositivos
(como impresoras) que usaban ASCII. Por ejemplo, el carcter 10 representa la
funcin "nueva lnea" (line feed), que hace que una impresora avance el papel,
y el carcter 27 representa la tecla "escape" que a menudo se encuentra en la
esquina superior izquierda de los teclados comunes.
los papeles continuos han dejado obsoleta la mayora de caracteres de control.
Deci
mal

He
x

Abreviat
ura

Re
pr

0000 0
000

00

NUL

^@

Carcter Nulo

0000 0
001

01

SOH

^A

Inicio de
Encabezado

0000 0
010

02

STX

^B

Inicio de Texto

0000 0
011

03

ETX

^C

Fin de Texto

0000 0
100

04

EOT

^D

Fin de
Transmisin

0000 0
101

05

ENQ

^E

Consulta

0000 0

06

ACK

^F

Acuse de

Binario

AT

Nombre/Signif
icado

Julio parte 4

110

recibo

0000 0
111

07

BEL

^G

Timbre

0000 1
000

08

BS

^H

Retroceso

0000 1
001

09

HT

^I

Tabulacin
horizontal

0000 1
010

10

0A

LF

^J

Salto de lnea

0000 1
011

11

0B

VT

^K

Tabulacin
Vertical

0000 1
100

12

0C

FF

^L

De avance

0000 1
101

13

0D

CR

^M

Retorno de
carro

0000 1
110

14

0E

SO

^N

Maysculas
fuera

0000 1
111

15

0F

SI

^O

En maysculas

0001 0
000

16

10

DLE

^P

Enlace de
datos / Escape

0001 0
001

17

11

DC1

^Q

Dispositivo de
control 1 oft.
XON

0001 0
010

18

12

DC2

^R

Dispositivo de
control 2

^S

Dispositivo de
control 3 oft.
XOFF

0001 0
011

19

13

DC3

Julio parte 4

0001 0
100

20

14

DC4

^T

Dispositivo de
control 4

0001 0
101

21

15

NAK

^U

Confirmacin
negativa

0001 0
110

22

16

SYN

^V

Sncrono en
espera

0001 0
111

23

17

ETB

^W

Fin de
Transmisin del
Bloque

0001 1
000

24

18

CAN

^X

Cancelar

0001 1
001

25

19

EM

^Y

Finalizacin del
Medio

0001 1
010

26

1A

SUB

^Z

Substituto

0001 1
011

27

1B

ESC

^[ or ESC

Escape

0001 1
100

28

1C

FS

^\

Separador de
fichero

0001 1
101

29

1D

GS

^]

Separador de
grupo

0001 1
110

30

1E

RS

^^

Separador de
registro

0001 1
111

31

1F

US

^_

Separador de
unidad

0111 11
11

127

7F

DEL

^?, Delete o Bac


kspace

Eliminar

Julio parte 4

Rasgos estructurales

Los dgitos del 0 al 9 se representan con sus valores prefijados con el


valor 0011 en binario (esto significa que la conversin BCD-ASCII es una
simple cuestin de tomar cada unidad bcd y prefijarla con 0011).

Las cadenas de bits de las letras minsculas y maysculas slo difieren


en un bit, simplificando de esta forma la conversin de uno a otro grupo.

Los cdigos de paridad


se usan en telecomunicaciones para detectar, y en algunos casos corregir,
errores en la transmisin. Para ellos se aade en origen un bit extra llamado bit
de paridad a los n bits que forman el carcter original.
Este valor del bit de paridad se determina de forma que el nmero total de
bits 1 a transmitir sea par (cdigo de paridad par) o impar (cdigo de paridad
impar).
As, para el cdigo de paridad par el nmero de unos contando el carcter
original y el bit de paridad tiene que ser par. Por lo tanto, el bit de paridad ser
un 0 si el nmero total de unos a transmitir es par y un 1 para un nmero impar
de unos.
Por el contrario, para el cdigo de paridad impar el nmero de unos contando el
carcter original y el bit de paridad ha de ser impar. De esta forma, el bit de
paridad ser un 0 si el nmero total de unos es impar y un 1 para un nmero
par de unos.
Normalmente el bit de paridad se aade a la izquierda del carcter original.
Este mtodo, aunque resulta satisfactorio en general, puede detectar slo un
nmero impar de errores de transmisin. Es decir, slo es til si los errores no
cambian un nmero par de bits a la vez, ya que un nmero par de errores no
afecta a la paridad final de los datos.

Julio parte 4

Tenemos el carcter original 0111001. Vemos que la trama a transmitir tiene un


nmero par de unos (4 unos). Al aadir el bit de paridad obtendremos el
siguiente carcter, que es el que se transmitir a destino:

Si usamos paridad par, ya hay un nmero par de unos, por tanto se


aade un 0, y transmitiremos 00111001.

Si usamos paridad impar, como hay un nmero par de unos, aadiremos


otro 1 para conseguir un nmero impar, y transmitiremos 10111001.

Si se enva un dato y durante la transmisin se produce un nico error, el


destinatario puede detectarlo al comprobar la paridad en el destino. Usando los
ejemplos anteriores, y alterando un solo bit de la trama transmitida, nos
quedara.

Paridad par: se recibe 00110001 en vez de 00111001. En la


comprobacin, al contar el nmero de unos salen 3 (impar), por lo que se
ha producido un error.

Paridad impar: se recibe 10110001 en vez de 10111001. En la


comprobacin, al contar el nmero de unos salen 4 (par), por lo que se ha
producido un error.

Siguiendo los ejemplos anteriores, y alterando dos bits en la transmisin,


veremos como el mtodo de deteccin de errores falla:

Paridad par: se recibe 00110101 en vez de 00111001. Al comprobar el


nmero de unos salen 4 (par), y no se detectan los errores.

Paridad impar: se recibe 10110101 en vez de 10111001. Al comprobar el


nmero de unos salen 5 (impar), y no se detectan los errores.

El bit de paridad ser un 0 si el nmero total de 1 a transmitir es par, y un 1 si el


nmero
total
de
1
es
impar.
Cdigo
de
paridad
impar
El bit de paridad ser un 1 si el nmero total de 1 a transmitir es par y un 0 si el
nmero
total
de
1
es
impar.

Julio parte 4

Normalmente el bit de paridad se aade a la izquierda del carcter original.


Ejemplos: Tenemos el carcter original 0111001. Vemos que la trama a
transmitir tiene un nmero par de unos (4). Al aadir el bit de paridad
obtendremos el siguiente carcter, que es el que se transmitir a destino:
* Si usamos paridad par, ya hay un nmero par de unos, por tanto se aade un
0,
y
transmitiremos
00111001
* Si usamos paridad impar, como hay un nmero par de unos, hemos de aadir
otro 1 para conseguir un nmero impar, y transmitiremos 10111001
Si se enva un dato y durante la transmisin se produce un nico error, el
destinatario puede detectarlo al comprobar la paridad en destino. Usando los
ejemplos anteriores, y alterando un solo bit de la trama transmitida, nos
quedara.
* Paridad par: se recibe 00110001 en vez de 00111001. Al comprobar el
nmero de unos nos salen 3 (impar), luego se ha producido un error.
* Paridad impar, se recibe 10110001 en vez de 10111001. Al comprobar el
nmero de unos nos salen 4 (par), luego se ha producido un error.
Este mtodo, aunque resulta satisfactorio en general, slo es til si los errores
no cambian un nmero par de bits a la vez, ya que un nmero par de errores
no afecta a la paridad final de los datos.

Julio parte 4

Referencias bibliogrficas

https://es.wikipedia.org/wiki/Bit_de_paridad
https://es.wikipedia.org/wiki/ASCII
http://es.slideshare.net/sergioruiz1/codigo-hamming
https://es.wikipedia.org/wiki/C%C3%B3digo_Hamming
https://es.wikipedia.org/wiki/C%C3%B3digo_Gray
https://es.wikipedia.org/wiki/Decimal_codificado_en_binario

Vous aimerez peut-être aussi