SlideShare una empresa de Scribd logo
1 de 19
Parte 3
Código BCD: 8421- EXCESO 3
El BCD (el binario decimal codificado) es una forma directa asignada a un equivalente
binario. Es posible asignar cargas a los bits binarios de acuerdo a sus posiciones. Las cargas
en el código BCD son 8, 4, 2, 1.
Ejemplo:
Para representar el digito decimal 6 en código BCD sería:.
0110
Ya que 0 x 8 + 1 x 4 + 1 x 2 ÷ 0+1 = 6.
Es posible asignar cargas negativas a un código decimal, tal como se muestra en el código
8, 4, -2, -1. En esta caso la combinación de bits 0110 se interpreta como el digito decimal 2,
l obtenerse de 0 x 8 + 1 x 4 + 1 x (-2) + 0 x (-1)=2.
Un código decimal que se ha usado en algunos computadores viejos en el código de exceso
a 3. Este último es un código sin carga, cuya asignación se obtiene del
correspondiente valor en BCD una vez se haya sumado 3.
Los números se representan en computadores digitales en binario o decimal a través de
un codigo binario. Cuando se estén especificando los datos, el usuario gusta dar los datos
en forma decimal. Las maneras decimales recibidas se almacenan internamente en
el computador por medio del código decimal. Cada digito decimal requiere por lo menos
cuatro elementos de almacenamiento binario. Los números decimales ses convierten a
binarios cuando las operaciones aritméticas se hacen internamente con números
representados en binario. Es posible también realizar operaciones aritméticas directamente
en decimal con todos los números ya dejados en forma codificada. Por ejemplo, el número
decimal 395, cuando se convierte aq binario es igual a 112221211 y consiste en nueve
digitos binarios. El mismo número representado alternamente en BCD, ocupa cuatro bits
para cada digito decimal para un total de 12 bits:001110010101.
Decimal Conversión Binaria Codificación BCD
13 1101 00010011
El código BCD es uno de los más utilizados. Los otros códigos de cuatro bits tienen una
característica en común que no se encuentra en BCD. El exceso a 3, el 2, 4, 2, 1 y el 8, 4, -
2, -1, son códigos autocomplementarios, esto es que el complemento a 9 del número
decimal se obtiene fácilmente cambiando los más por ceros y los ceros por más.
Esta propiedad es muy útil cuando se hacen las operaciones aritméticas internamente con
números decimales (en código binario) y la sustracción se hace por medio del complemento
de 9.
El código biguinario mostrado a continuación es un ejemplo de un código de siete digitos
con propiedades de detección de error. Cada dígito decimal consiste de 5 ceros y 2 unos
colocados en las correspondientes columnas de carga.
La propiedad de detección de error de este código puede comprenderse si uno se da cuenta
de que los sistemas digitales representan el binario 1 mediante una señal específica uno y el
binario cero por otra segunda señal específica. Durante la trasmisión de señales de un lugar
a otro puede presentarse un error. Uno o más bits pueden cambiar de valor. Un circuito en
el lado de recepción puede detectar la presencia de más (o menos) de dos unos y en el caso
de que la combinación permitida, se detectará un error.
Digito
Decimal
BCD 8421 Exceso a 3 84-2-1 2421 (Biguinario)
5043210
0 0 11 0 0 0100001
1 1 100 111 1 0100010
2 10 101 110 10 0100100
3 11 110 101 11 0101000
4 100 111 100 100 0110000
5 101 1000 1011 1011 1000001
6 110 1001 1010 1100 1000010
7 111 1010 1001 1101 1000100
8 1000 1011 1000 1110 1001000
9 1001 1100 1111 1111 1010000
Ejemplos
El código BCD utiliza 4 dígitos binarios (ver en los dos ejemplos que
siguen) para representar un dígito decimal (0 al 9). Cuando se hace conversión de binario a
decimal típica no hay una directa relación entre el dígito
decimal y el dígito binario.
Ejemplo 1:
Conversión directa típica entre un número en decimal y
uno binario.
8510 = 10101012
La representación el mismo
número decimal en código BCD se muestra a la
derecha
Ejemplo2:
Conversión directa típica entre un número en decimal y uno binario.
56810 = 10001110002
La representación el mismo número decimal en código BCD se muestra a la derecha
Como se puede ver, de los dos ejemplos anteriores, el número equivalente decimal no se
parece a la representación en código BDC.
Código Exceso 3
El código Exceso 3 se obtiene sumando "3" a
cada combinación del código BCD natural. Ver
la tabla inferior a la derecha.
El código exceso 3 es un código en donde la
ponderación no existe (no hay "pesos" como en el
código BCD natural y código Aiken.
Al igual que el código Aiken cumple con la
misma característica de simetría. Cada cifra es el
complemento a 9 de la cifra simétrica en todos
sus dígitos.
Ver la simetría en el código exceso 3 correspondiente a los decimales: 4 y 5, 3 y 6, 2 y 7, 1
y 8, 0 y 9
Es un código muy útil en las operaciones de resta y división.
Características
Ponderación
La mayoría de los sistemas de numeración actuales son ponderados, es decir, cada posición
de una secuencia de dígitos tiene asociado un peso. El sistema binario es, de hecho, un
sistema de numeración posicional ponderado. Sin embargo, algunos códigos binarios, como
el código Gray, no son ponderados, es decir, no tienen un peso asociado a cada posición.
Otros, como el mismo código binario natural o el BCD natural sí lo son.
Distancia
Es una característica sólo aplicable a las combinaciones binarias. La distancia entre dos
combinaciones es el número de bits que cambian de una a otra. Por ejemplo, si se tienen las
combinaciones de cuatro bits 0010 y 0111,correspondientes al 2 y al 7 en binario natural, se
dirá que la distancia entre ellas es igual a dos ya que de una a otra cambian dos bits
.Además, con el concepto de distancia se puede definir la distancia mínima de un código.
Ésta no es más que la distancia menor que haya entre dos de las combinaciones de ese
código.
Código gray
El código GRAY es utilizado principalmente en sistemas de posición, ya
sea angular o lineal. Sus aplicaciones principales se encuentran en la industria y en
robótica.
En robótica se utilizan unos discos codificados para dar la información de posición que
tiene un eje en particular. Esta información se da en código GRAY.
Analizando la tabla:
- Cuando un número binario pasa de:
0111 a 1000 (de 7 a 8 en decimal) o de
1111 a 0000 (de 16 a 0 en decimal) cambian todas las cifras.
- Para el mismo caso pero en código Gray:
0100 a 1100 (de 7 a 8 en decimal) o de 1000 a 0000 (de 16 a 0 en decimal) sólo ha
cambiado una cifra.
La característica de pasar de un código al siguiente cambiando sólo un dígito asegura
menos posibilidades de error.
Nombre
El investigador de Laboratorios Bell Frank Gray inventó el término código binario
reflejado cuando lo patentó en 1947, remarcando que éste "no tenía nombre reconocido
aún". Él creó el nombre basándose en el hecho de que el código "puede ser construido a
partir delcódigo binario convencional por una suerte de 'proceso reflejante'".
El código fue llamado posteriormente "Gray" por otros investigadores. Dos patentes
en 1953 dieron como nombre alternativo "código de Gray" para el "código binario
reflejado"; uno de ellas también se refiere al código como "minimum error code" (código
de error mínimo) y como "cyclic permutation code" (código de permutación cíclica)
CONVERSIÓN DE BINARIO A CÓDIGO GRAY
La conversión entre el código binario y el código Gray a vesces es muy útil. Primeramente,
mostraremos cómo convertir un número binario a un número de código Gray. Se aplican las
siguientes reglas:
odigo Gray es el mismo que el
MSB correspondiente en el número binario,
obtener el siguiente bit del codigo Gray. Descarte acarreos.
Ejemplo:
Paso 1. El digito del codigo Gray mas a la izquierda es el mismo que el digito del codigo
binario mas a la izquierda.
1 0 1 1 0 Binario
1 Gray
Paso 2. Sume el bit de codigo binario mas a la izquierda al bit adyacente.
1 + 0 1 1 0 Binario
1 1 Gray
Paso 3. Sume el siguiente par adyacente.
1 0 + 1 1 0 Binario
1 1 1 Gray
Paso 4. Sume el siguiente par adyacente y descarte el acarreo.
1 0 1 + 1 0 Binario
1 1 1 0 Gray
Paso 5. Sume el ultimo par adyacente.
1 0 1 1 +0 Binario
1 1 1 0 1 Gray
La conversion ha sido completada; el codio Gray es 11101.
CONVERSIÓN DE GRAY A BINARIO
Para convertir de códio Gray a Binario, se utiliza un método similar, pero con algunas
diferencias. Se aplican las sigientes reglas:
bit más significativo(el más a la izquierda) es el código binario es el mismo que el bit
correspondiente en el codigo Gray.
adyacente. Descarte acarreos.
Ejemplo:
Paso 1. El digito del codigo binario mas a la izquierda es el mismo que el digito del codigo
Gray mas a la izquierda.
1 1 0 1 1 Gray
1 Binario
Paso 2. Sume el ultimo bit del codigo binario que se acaba de generar al bit del codigo Gray
en la siguiente posicion. Descarte acarreos.(En negrilla bit que se suman).
1 1 0 1 1 Gray
1 0 Binario
Paso 3. Sume el ultimo bit del codigo binario que se acaba de generar al bit del codigo Gray
en la siguiente posicion.
1 1 0 1 1 Gray
1 0 0 Binario
Paso 4. Sume el ultimo bit del codigo binario que se acaba de generar al bit del codigo Gray
en la siguiente posicion.
1 1 0 1 1 Gray
1 0 0 1 Binario
Paso 5. Sume el ultimo bit del codigo binario que se acaba de generar al bit del codigo Gray
en la siguiente posicion. Descarte acarreos.
1 1 0 1 1 Gray
1 0 0 1 0 Binario
La conversion ha sido completada; el codigo binario es 10010
Aplicaciones
Hasta la primera mitad de los años 1940 los circuitos lógicos digitales se realizaban
con válvulas de vacío y dispositivos electromecánicos.
Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos
de ruido cuando varios bits cambiaban simultáneamente. Tomando esto en cuenta, Frank
Gray inventó un método para convertir señales analógicas a grupos de código binario
reflejado utilizando un aparato diseñado con válvulas de vacío, con lo cual garantizó que en
cualquier transición variaría tan sólo un bit.
En la actualidad, el código Gray se emplea como parte del algoritmo de diseño de
los mapas de Karnaugh, los cuales son, a su vez, utilizados como "herramienta de diseño"
en la implementación de circuitos combinacionales y circuitos secuenciales. La vigencia del
código Gray se debe a que un diseño digital eficiente requerirá transiciones más simples y
rápidas entre estados lógicos (0 ó 1), por ello es que se persiste en su uso, a pesar de que los
problemas de ruido y potencia se hayan reducido con la tecnología de estado sólido de
los circuitos integrados.
Utilizando el código Gray es posible también resolver el problema de las Torres de Hanói.
Se puede incluso formar un ciclo hamiltoniano o un hipercubo, en el que cada bit se puede
ver como una dimensión.
Debido a las propiedades de distancia de Hamming que posee el código Gray, es usado en
ocasiones en algoritmos genéticos.
Características
Es un código binario que se caracteriza por modificar un sólo bit de un estado al siguiente.
El bit más significativo (MSB) en el código Gray es el mismo que el correspondiente al
número binario.
Yendo de izquierda a derecha, sumamos cada par adyacente de los bits en código binario
para obtener el siguiente bit en código Gray, teniendo en cuenta que los acarreos deben
descartarse.
Codigo hamming
Hoy, el código de Hamming se refiere al (7.4) que Hamming introdujo en 1950. El código
de Hamming agrega tres bits adicionales de comprobación por cada cuatro bits de datos del
mensaje.
El algoritmo de Hamming (7.4) puede corregir cualquier error de un solo bit, y detecta
todos los errores de dos bits.
Para un ambiente en el que el ruido pueda cambiar como máximo 2 bits de 7, el código
Hamming (7.4) es generalmente el de pérdida mínima.
El medio tendría que ser muy ruidoso para que se perdieran más de 2 bits de cada 7 (casi el
45% de los bits transmitidos), y habría que considerar seriamente cambiar a un medio de
transmision más fiable.
El algoritmo es simple:
1. Todos los bits cuya posición 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
posición 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 continuación.
* Posición 1: salta 1, comprueba 1, salta 1, comprueba 1, etc.
* Posición 2: comprueba 1, salta 2, comprueba 2, salta 2, comprueba 2, etc.
* Posición 4: comprueba 3, salta 4, comprueba 4, salta 4, comprueba 4, etc.
* Posición 8: comprueba 7, salta 8, comprueba 8, salta 8, comprueba 8, etc.
* Posición 16: comprueba 15, salta 16, comprueba 16, salta 16, comprueba 16, etc.
* Y así sucesivamente.
Así pues en la Posición 1, comprobaríamos los bits: 3, 5, 7, 9, 11...; en la Posición 2, los
bits: 3, 6, 7, 10, 11, 14, 15...-; en la Posición 4 tendríamos: 5, 6, 7, 12, 13, 14, 15... Así
hasta completar la nueva cadena.
Ejemplo
Consideremos la palabra de datos de 7 bits "0110101". Para ver cómo se generan y utilizan
los códigos 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.
Cálculo de los bits de paridad en el código Hamming p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
Palabra de datos (sin paridad): 0 1 1 0 1 0 1
p1 1 0 1 0 1 1
p2 0 0 1 0 0 1
p3 0 1 1 0
p4 0 1 0 1
Palabra de datos (con paridad): 1 0 0 0 1 1 0 0 1 0 1
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"; cuando se analice el modo en que se obtienen los bits de paridad en
los códigos de Hamming se observarán variaciones en la paridad, lo que significará que hay
error.
Comprobación de los bits de paridad (con primer bit de la derecha cambiado) p1 p2 d1 p3
d2 d3 d4 p4 d5 d6 d7 Prueba de paridad Bit de paridad
Palabra de datos recibida: 1 0 0 0 1 1 0 0 1 0 0
p1 1 0 1 0 1 0 Error 1
p2 0 0 1 0 0 0 Error 1
p3 0 1 1 0 Correcto 0
p4 0 1 0 0 Error 1
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, lo que significa que el bit décimo
primero de la palabra de datos (bits de paridad incluidos) es el erróneo y necesita ser
cambiado.
p4 p3 p2 p1
Binario 1 0 1 1
Decimal 8 2 1 Σ = 11
Cambiando el bit décimo primero 10001100100 se obtiene de nuevo 10001100101.
Eliminando los bits de paridad de Hamming se vuelve a obtener la palabra de datos original
0110101.
Observe que en la comprobación de la paridad no se tienen en cuenta los bits de paridad. Si
el error se produjera en uno de ellos, en la comprobación sólo se detectaría un error, justo el
correspondiente al bit de paridad causante del mismo.
Finalmente, cuando cambien dos bits, en la comprobación de paridad se obtendrá un valor
decimal superior a 11, detectándose el error; sin embargo no se podrán saber las posiciones
de los dos bits que cambiaron.
Características
• Para corregir un error detectado, se requiere más información.
• La posición del error debe ser identificada, para poder ser corregida.
• Se requiere más de un bit de paridad para poder corregir un error detectado.
• El código Hamming nos permite corregir errores unitarios.
Deteccionde errores
Para detectar un error, en el caso de un codigo binario, se debe agregar un simbolo binario
(0 o 1) a cada cadena de datos de K simbolos de informacion de forma tal que la cantidad
total de unos en la cadena codificada sea par, es decir, que la cadena tenga paridad par. La
distorsion de algun simbolos traslada la palabra codificada permisible al conjunto de las
palabras prohibidas, lo que se detecta en el extremo receptor, debido a la cantidad impar de
unos.
La propiedades de deteccion y correccion de errores de un codigo depende de su distancia
de Hamming. Esta representa la cantidad de simbolos en los que una cadena de datos se
diferencia de otra cadena y se simboliza con la letra "d". Para determinar la cantidad de bits
diferentes, en el caso de una cadena binaria, basta aplicar una operacion OR exclusivo a las
dos cadenas y contar la cantidad de bits 1 en el resultado, por ejemplo:
d=3, N=8
10001001 OR 10110001 = 00111000
En el caso anterior, se muestra que la distancia de Hamming es: d=3 y la longitud de la
cadena de datos es: N=8.
La manera de saber si una cadena recibida tiene errores es identificando si dicha cadena es
un codigo permisible. Entonces si se tiene un codigo con longitud N=3, indica que se tiene
el siguiente codigo binario:
[000, 001, 010, 011, 100, 101, 110, 111]
Del codigo anterior se puede aplicar una distancia d=2, esto indica que el codigo anterior se
divide en un codigo permisible y un codigo prohibido.
[000, 011, 101, 110] Codigo permisible.
[001, 010, 100, 111] Codigo prohibido
El decodificador despues de la recepcion puede realizarse de forma tal que la palabra
codificada recibida se identifique con aquella palabra permisible que se encuentre con ella.
Si el receptor encuentra que el codigo que llego es una palabra prohibida, detecta que hubo
un error y pide retransmision.
Aplicaciones y uso
El sistema de códigos Haming es muy utilizado en elementos como memorias
y en comunicaciones en las tramas de Wifi.
• En el año 1987 Intel introdujo el circuito integrado 8206 cuya misión era detectar y
corregir errores en palabras de 8 o de 16 bits. Inicialmente su campo de aplicación era
corregir los posibles errores generados al leer datos desde una memoria.
• En el año 1996, la firma CML introdujo el circuito integrado FX909A. Se trata de un
modem para comunicaciones inalámbricas vía radio que incorpora la modulación GMSK
Código ascii
ASCII (acrónimo inglés de American Standard Code for Information Interchange —
Código Estándar Estadounidense para el Intercambio de Información), pronunciado
generalmente [áski] o [ásci] o [ásqui], es un código de caracteres basado en elalfabeto
latino, tal como se usa en inglés moderno. Fue creado en 1963 por el Comité
Estadounidense de Estándares (ASA, conocido desde 1969 como el Instituto
Estadounidense de Estándares Nacionales, o ANSI) como una refundición o evolución de
los conjuntos de códigos utilizados entonces en telegrafía. Más tarde, en 1967, se
incluyeron las minúsculas, y se redefinieron algunos códigos de control para formar el
código conocido como US-ASCII.
Breve historia del Código ASCII:
Este código nació a partir de reordenar y expandir el conjunto de símbolos y
caracteres ya utilizados en aquel momento en telegrafía por la compañía Bell. En un
primer momento solo incluía letras mayúsculas y números, pero en 1967 se agregaron
las letras minúsculas y algunos caracteres de control, formando así lo que se conoce
como US-ASCII, es decir los caracteres del 0 al 127.
Así con este conjunto de solo 128 caracteres fue publicado en 1967 como estándar,
conteniendo todos lo necesario para escribir en idioma ingles.
Usos y aplicaciones
Como utilizar el código ASCII:
Sin saberlo lo utilizas todo el tiempo, cada vez que utilizas algún sistema informatico; pero si lo que
necesitas es obtener algunos de los caracteres no incluidos en tu teclado debes hacer lo siguiente, por
ejemplo:
Como escribir con el teclado, o tipear : Letra EÑE mayúscula - letra N con tilde –
ENIE
WINDOWS: en computadoras con sistema operativo como Windows 8, Win 7, Vista,
Windows Xp, etc.
Para obtener la letra, caracter, signo o símbolo "Ñ" : ( Letra EÑE mayúscula - letra N
con tilde - ENIE ) en ordenadores con sistema operativo Windows:
1) Presiona la tecla "Alt" en tu teclado, y no la sueltes.
2) Sin dejar de presionar "Alt", presiona en el teclado numérico el número "165",
que es el número de la letra o símbolo "Ñ" en el código ASCII.
3) Luego deja de presionar la tecla "Alt" y... ¡ Ya está listo ! (318) .
Aplicaciones
En 1981, la empresa IBM desarrolló una extensión de 8 bits del código ASCII, llamada
"pagina de código 437", en esta versión se reemplazaron algunos caracteres de control
obsoletos, por caracteres gráficos. Además se incorporaron 128 caracteres nuevos, con
símbolos, signos, gráficos adicionales y letras latinas, necesarias para la escrituras de textos
en otros idiomas, como por ejemplo el español. Así fue como se sumaron los caracteres que
van del ASCII 128 al 255.
IBM incluyó soporte a esta página de código en el hardware de su modelo 5150, conocido
como "IBM-PC", considerada la primera computadora personal. El sistema operativo de
este modelo, el "MS-DOS" también utilizaba el código ASCII extendido.
Casi todos los sistemas informáticos de la actualidad utilizan el código ASCII para
representar caracteres, símbolos, signos y textos (317)
Los caracteres de controlASCII
Binario
Decim
al
He
x
Abreviatu
ra
Rep
r AT
Nombre/Significa
do
0000 000
0
0 00 NUL ␀ ^@ Carácter Nulo
0000 000
1
1 01 SOH ␁ ^A
Inicio de
Encabezado
0000 001
0
2 02 STX ␂ ^B Inicio de Texto
0000 001
1
3 03 ETX ␃ ^C Fin de Texto
0000 010
0
4 04 EOT ␄ ^D
Fin de
Transmisión
0000 010
1
5 05 ENQ ␅ ^E Consulta
0000 011
0
6 06 ACK ␆ ^F Acuse de recibo
0000 011
1
7 07 BEL ␇ ^G Timbre
0000 100
0
8 08 BS ␈ ^H Retroceso
0000 100
1
9 09 HT ␉ ^I
Tabulación
horizontal
0000 101
0
10 0A LF ␊ ^J Salto de línea
0000 101
1
11 0B VT ␋ ^K
Tabulación
Vertical
0000 110
0
12 0C FF ␌ ^L De avance
0000 110
1
13 0D CR ␍ ^M Retorno de carro
0000 111
0
14 0E SO ␎ ^N Mayúsculas fuera
0000 111
1
15 0F SI ␏ ^O En mayúsculas
0001 000
0
16 10 DLE ␐ ^P
Enlace de datos /
Escape
0001 000
1
17 11 DC1 ␑ ^Q
Dispositivo de
control 1 — oft.
XON
0001 001 18 12 DC2 ␒ ^R Dispositivo de
0 control 2
0001 001
1
19 13 DC3 ␓ ^S
Dispositivo de
control 3 — oft.
XOFF
0001 010
0
20 14 DC4 ␔ ^T
Dispositivo de
control 4
0001 010
1
21 15 NAK ␕ ^U
Confirmación
negativa
0001 011
0
22 16 SYN ␖ ^V
Síncrono en
espera
0001 011
1
23 17 ETB ␗ ^W
Fin de
Transmisión del
Bloque
0001 100
0
24 18 CAN ␘ ^X Cancelar
0001 100
1
25 19 EM ␙ ^Y
Finalización del
Medio
0001 101
0
26 1A SUB ␚ ^Z Substituto
0001 101
1
27 1B ESC ␛ ^[ or ESC Escape
0001 110
0
28 1C FS ␜ ^
Separador de
fichero
0001 110
1
29 1D GS ␝ ^]
Separador de
grupo
0001 111
0
30 1E RS ␞ ^^
Separador de
registro
0001 111 31 1F US ␟ ^_ Separador de
1 unidad
0111 111
1
127 7F DEL ␡
^?, Delete o Backsp
ace
Eliminar
Características
El código ASCII representa un conjunto de números desde el 0 al 127, en escala decimal,
para el procesador que se trata de una cadena binaria que está compuesto por dos elementos
o unidades de 7 dígitos, donde 127 se expresa como 1111111 y resulta especialmente útil
para la realización de los sitios web.
También existen muchos formularios que pueden llenar los usuarios y sobre todo si la
página tiene diferentes versiones en varios idiomas que son importantes y puede ser muy
meticuloso en el procesamiento del texto ingresado para asegurar que se almacene en la
base de datos y de esa forma pueda revisar la información y no existan errores a la hora de
imprimir los caracteres especiales, porque la combinación de caracteres se emplea para
crear y entender mensajes secretos.
Código de paridad par e impar
Un bit de paridad es un dígito binario que indica si el número de bits con un valor de 1 en
un conjunto de bits espar o impar. Los bits de paridad conforman el método de detección de
errores más simple.
La paridad par es un caso especial del control de redundancia cíclica (CRC), donde el bit de
CRC se genera por el polinomio x+1.
Nótese que este método detecta los errores, pero no los corrige (salvo en el caso de que la
palabra transmitida sea de tamaño 1 bit). Existen dos variantes de este método, bit de
paridad par y bit de paridad impar:
En el caso de la paridad par, se cuentan el número de unos. Si el total es impar, el bit de
paridad se establece en uno y por tanto la suma del total anterior con este bit de paridad,
daría par. Si el conteo de bits uno es par, entonces el bit de paridad(par) se deja en 0, pues
ya es par.
En el caso de la paridad impar, la situación es la contraria. Se suman los bits cuyo valor es
uno, si da un número impar de bits, entonces el bit de paridad(impar) es cero. Y si la suma
de los bits cuyo valor es uno es par, entonces el bit de paridad(impar) se establece en uno,
haciendo impar la cuenta total de bits uno.
7 bits de
datos
byte con bit de paridad
par impar
0000000 00000000 00000001
1010001 10100011 10100010
1101001 11010010 11010011
1111111 11111111 11111110
¿Diferencias entre el código de paridad par y el código de paridad impar?
Código de paridad par
El bit de paridad será un 0 si el número total de 1 a transmitir es par, y un 1 si el número
total de 1 es impar.
Código de paridad impar
El bit de paridad será un 1 si el número total de 1 a transmitir es par y un 0 si el número
total de 1 es impar.
Normalmente el bit de paridad se añade a la izquierda del carácter original.
Ejemplos: Tenemos el carácter original 0111001. Vemos que la trama a transmitir tiene un
número par de unos (4). Al añadir el bit de paridad obtendremos el siguiente carácter, que
es el que se transmitirá a destino:
* Si usamos paridad par, ya hay un número par de unos, por tanto se añade un 0, y
transmitiremos 00111001
* Si usamos paridad impar, como hay un número par de unos, hemos de añadir otro 1 para
conseguir un número impar, y transmitiremos 10111001
Si se envía un dato y durante la transmisión 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 quedaría.
* Paridad par: se recibe 00110001 en vez de 00111001. Al comprobar el número de unos
nos salen 3 (impar), luego se ha producido un error.
* Paridad impar, se recibe 10110001 en vez de 10111001. Al comprobar el número de unos
nos salen 4 (par), luego se ha producido un error.
Este método, aunque resulta satisfactorio en general, sólo es útil si los errores no cambian
un número par de bits a la vez, ya que un número par de errores no afecta a la paridad final
de los datos.
Usos y aplicaciones
Paridad par, que consiste en añadir un “1" si la palabra original contiene un número impar
de unos, y un “0" si contiene un número par de unos. En cualquier caso, todas las palabras
del código tendrán un número par de unos.
Paridad impar, que consiste en añadir un “1" si la palabra original contiene un número par
de unos y se añadirá un “0" si contiene un número impar de unos. En este otro caso, todas
las palabras del código tendrán un número impar de unos.
De esta forma, si se produce un error en un bit, éste será detectado. Aunque este sistema es
capaz de detectar un número impar de errores, no es capaz de detectar un número par de
errores.
EJEMPLO
Se desea enviar la palabra “1001011" utilizando paridad impar. El emisor envía la siguiente
palabra codificada:
10010111
Sin embargo, se produce un error en el dígito número 2, con lo que llega:
10010101
El receptor sabrá que se ha producido un error porque la paridad de la palabra recibida es
par. Sin embargo, si se hubieran producido dos errores (recibiendo la palabra “11010011",
por ejemplo) el receptor no detectaría ningún error.
Características
Para los caracteres del código ASCII, el uso de un bit de paridad soló disminuye en un 12%
la capacidad del canal.
Los métodos de paridad se pueden extender agrupando varios datos, por ejemplo, varios
bytes en forma de matriz rectangular y calcular la paridad, tanto en vertical como en
horizontal. Estos métodos se denominan método de cálculo de paridad por bloques.
Evidentemente, proporcionan una mayor protección para los datos, aunque son algo más
complejos y menos eficientes.
Cuando se trabaja en entornos síncronos no es rentable la utilización de métodos basados en
paridad, debido a la deficiente utilización del ancho de banda del canal. Además, se precisa
una protección más fuerte sin consumir demasiados recursos en el proceso de detección
apropiadamente. Está cada vez más extendido el uso de métodos de redundancia cíclica
como respuesta a estas necesidades.

Más contenido relacionado

La actualidad más candente

Operadres diferenciales 2
Operadres diferenciales 2Operadres diferenciales 2
Operadres diferenciales 2Elvis Marín
 
2.3. Configuraciones en Paralelo y Serie-Paralelo de Diodos
2.3. Configuraciones en Paralelo y Serie-Paralelo de Diodos2.3. Configuraciones en Paralelo y Serie-Paralelo de Diodos
2.3. Configuraciones en Paralelo y Serie-Paralelo de DiodosOthoniel Hernandez Ovando
 
Definicion de error AN
Definicion de error ANDefinicion de error AN
Definicion de error ANTensor
 
Entradas senoidales rectificación a media onda y rectificación de onda completa
Entradas senoidales  rectificación a media onda y rectificación de onda completaEntradas senoidales  rectificación a media onda y rectificación de onda completa
Entradas senoidales rectificación a media onda y rectificación de onda completaGeison Chavez
 
Electrónica digital: Circuitos con NAND y NOR
Electrónica digital: Circuitos con NAND y NORElectrónica digital: Circuitos con NAND y NOR
Electrónica digital: Circuitos con NAND y NORSANTIAGO PABLO ALBERTO
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresBertha Vega
 
Transformada Zeta, Definicion y Usos en la Vida Real
Transformada Zeta, Definicion y Usos en la Vida RealTransformada Zeta, Definicion y Usos en la Vida Real
Transformada Zeta, Definicion y Usos en la Vida RealCesar Daniel Salazar Pérez
 
refrigeracion, temperatura y calor
refrigeracion, temperatura y calorrefrigeracion, temperatura y calor
refrigeracion, temperatura y calorJesus D'Angelo
 
114845439 manual-ees-en-espanol
114845439 manual-ees-en-espanol114845439 manual-ees-en-espanol
114845439 manual-ees-en-espanolDaniel_pe
 
Solucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docx
Solucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docxSolucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docx
Solucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docxHayramPatraca
 
Transistores mosfet configuracion y polarizacion
Transistores mosfet configuracion y polarizacionTransistores mosfet configuracion y polarizacion
Transistores mosfet configuracion y polarizacionJuan Carlos Cabrera
 
Acondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5v
Acondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5vAcondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5v
Acondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5vCARLOS MARANI
 
TERCER LABORATORIO DE ELECTRONICA
TERCER  LABORATORIO DE ELECTRONICA TERCER  LABORATORIO DE ELECTRONICA
TERCER LABORATORIO DE ELECTRONICA Marx Simpson
 
Conversión de punto flotante binario a decimal
Conversión de punto flotante binario a decimalConversión de punto flotante binario a decimal
Conversión de punto flotante binario a decimalJavier Daniel Rivas Lozano
 
Campos vectoriales
Campos vectorialesCampos vectoriales
Campos vectorialesKim Silva
 

La actualidad más candente (20)

Operadres diferenciales 2
Operadres diferenciales 2Operadres diferenciales 2
Operadres diferenciales 2
 
2.3. Configuraciones en Paralelo y Serie-Paralelo de Diodos
2.3. Configuraciones en Paralelo y Serie-Paralelo de Diodos2.3. Configuraciones en Paralelo y Serie-Paralelo de Diodos
2.3. Configuraciones en Paralelo y Serie-Paralelo de Diodos
 
Definicion de error AN
Definicion de error ANDefinicion de error AN
Definicion de error AN
 
Entradas senoidales rectificación a media onda y rectificación de onda completa
Entradas senoidales  rectificación a media onda y rectificación de onda completaEntradas senoidales  rectificación a media onda y rectificación de onda completa
Entradas senoidales rectificación a media onda y rectificación de onda completa
 
Electrónica digital: Circuitos con NAND y NOR
Electrónica digital: Circuitos con NAND y NORElectrónica digital: Circuitos con NAND y NOR
Electrónica digital: Circuitos con NAND y NOR
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadores
 
Transformada Zeta, Definicion y Usos en la Vida Real
Transformada Zeta, Definicion y Usos en la Vida RealTransformada Zeta, Definicion y Usos en la Vida Real
Transformada Zeta, Definicion y Usos en la Vida Real
 
refrigeracion, temperatura y calor
refrigeracion, temperatura y calorrefrigeracion, temperatura y calor
refrigeracion, temperatura y calor
 
Series de fourier
Series de fourierSeries de fourier
Series de fourier
 
114845439 manual-ees-en-espanol
114845439 manual-ees-en-espanol114845439 manual-ees-en-espanol
114845439 manual-ees-en-espanol
 
Solucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docx
Solucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docxSolucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docx
Solucionario-de-Circuitos-Electricos-de-Joseph-A-Edminister-Schaum.docx
 
Transistores mosfet configuracion y polarizacion
Transistores mosfet configuracion y polarizacionTransistores mosfet configuracion y polarizacion
Transistores mosfet configuracion y polarizacion
 
Exposicion circuitos sumadores
Exposicion circuitos sumadoresExposicion circuitos sumadores
Exposicion circuitos sumadores
 
Acondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5v
Acondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5vAcondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5v
Acondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5v
 
TERCER LABORATORIO DE ELECTRONICA
TERCER  LABORATORIO DE ELECTRONICA TERCER  LABORATORIO DE ELECTRONICA
TERCER LABORATORIO DE ELECTRONICA
 
Señales y sistemas
Señales y sistemasSeñales y sistemas
Señales y sistemas
 
Conversión de punto flotante binario a decimal
Conversión de punto flotante binario a decimalConversión de punto flotante binario a decimal
Conversión de punto flotante binario a decimal
 
El transistor ujt scr
El transistor ujt scrEl transistor ujt scr
El transistor ujt scr
 
Senoides y fasores presentacion ppt
Senoides  y fasores presentacion pptSenoides  y fasores presentacion ppt
Senoides y fasores presentacion ppt
 
Campos vectoriales
Campos vectorialesCampos vectoriales
Campos vectoriales
 

Destacado (6)

Tipos de Datos - Punto flotante
Tipos de Datos - Punto flotanteTipos de Datos - Punto flotante
Tipos de Datos - Punto flotante
 
Tema 2
Tema 2Tema 2
Tema 2
 
Codigo Hamming
Codigo HammingCodigo Hamming
Codigo Hamming
 
Detección y Corrección de errores
Detección y Corrección de erroresDetección y Corrección de errores
Detección y Corrección de errores
 
Hamming y CRC
Hamming y CRCHamming y CRC
Hamming y CRC
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de errores
 

Similar a Código BCD, Exceso 3 y Código Gray

Similar a Código BCD, Exceso 3 y Código Gray (20)

Codigos digitales
Codigos digitalesCodigos digitales
Codigos digitales
 
Codigos
Codigos Codigos
Codigos
 
Codigos..
Codigos..Codigos..
Codigos..
 
Codigo Binario
Codigo BinarioCodigo Binario
Codigo Binario
 
Parte 3
Parte 3Parte 3
Parte 3
 
El código gray
El código grayEl código gray
El código gray
 
Codigos binarios
Codigos binariosCodigos binarios
Codigos binarios
 
Codigo-de-gray
Codigo-de-grayCodigo-de-gray
Codigo-de-gray
 
Direccionamiento IP
Direccionamiento IPDireccionamiento IP
Direccionamiento IP
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ip
 
Sistemas de numeración
Sistemas  de  numeraciónSistemas  de  numeración
Sistemas de numeración
 
CODIGO BCD E1.pptx
CODIGO BCD E1.pptxCODIGO BCD E1.pptx
CODIGO BCD E1.pptx
 
Eventos digitales y analógicos
Eventos digitales y analógicosEventos digitales y analógicos
Eventos digitales y analógicos
 
Eventos digitales y analógicos
Eventos digitales y analógicosEventos digitales y analógicos
Eventos digitales y analógicos
 
Eventos digitales y analógicos
Eventos digitales y analógicosEventos digitales y analógicos
Eventos digitales y analógicos
 
Numeros
NumerosNumeros
Numeros
 
Tema1 introduccion a los circuitos electronicos digitales
Tema1 introduccion a los circuitos electronicos digitalesTema1 introduccion a los circuitos electronicos digitales
Tema1 introduccion a los circuitos electronicos digitales
 
Codigos binarios
Codigos binariosCodigos binarios
Codigos binarios
 
Julian andres rios moreno 3 11 1
Julian andres rios moreno 3   11 1Julian andres rios moreno 3   11 1
Julian andres rios moreno 3 11 1
 
Julian andres rios moreno 3 11 1
Julian andres rios moreno 3   11 1Julian andres rios moreno 3   11 1
Julian andres rios moreno 3 11 1
 

Último

Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señorkkte210207
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 

Último (9)

Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 

Código BCD, Exceso 3 y Código Gray

  • 1. Parte 3 Código BCD: 8421- EXCESO 3 El BCD (el binario decimal codificado) es una forma directa asignada a un equivalente binario. Es posible asignar cargas a los bits binarios de acuerdo a sus posiciones. Las cargas en el código BCD son 8, 4, 2, 1. Ejemplo: Para representar el digito decimal 6 en código BCD sería:. 0110 Ya que 0 x 8 + 1 x 4 + 1 x 2 ÷ 0+1 = 6. Es posible asignar cargas negativas a un código decimal, tal como se muestra en el código 8, 4, -2, -1. En esta caso la combinación de bits 0110 se interpreta como el digito decimal 2, l obtenerse de 0 x 8 + 1 x 4 + 1 x (-2) + 0 x (-1)=2. Un código decimal que se ha usado en algunos computadores viejos en el código de exceso a 3. Este último es un código sin carga, cuya asignación se obtiene del correspondiente valor en BCD una vez se haya sumado 3. Los números se representan en computadores digitales en binario o decimal a través de un codigo binario. Cuando se estén especificando los datos, el usuario gusta dar los datos en forma decimal. Las maneras decimales recibidas se almacenan internamente en el computador por medio del código decimal. Cada digito decimal requiere por lo menos cuatro elementos de almacenamiento binario. Los números decimales ses convierten a binarios cuando las operaciones aritméticas se hacen internamente con números representados en binario. Es posible también realizar operaciones aritméticas directamente en decimal con todos los números ya dejados en forma codificada. Por ejemplo, el número decimal 395, cuando se convierte aq binario es igual a 112221211 y consiste en nueve digitos binarios. El mismo número representado alternamente en BCD, ocupa cuatro bits para cada digito decimal para un total de 12 bits:001110010101. Decimal Conversión Binaria Codificación BCD 13 1101 00010011 El código BCD es uno de los más utilizados. Los otros códigos de cuatro bits tienen una característica en común que no se encuentra en BCD. El exceso a 3, el 2, 4, 2, 1 y el 8, 4, - 2, -1, son códigos autocomplementarios, esto es que el complemento a 9 del número decimal se obtiene fácilmente cambiando los más por ceros y los ceros por más. Esta propiedad es muy útil cuando se hacen las operaciones aritméticas internamente con números decimales (en código binario) y la sustracción se hace por medio del complemento de 9. El código biguinario mostrado a continuación es un ejemplo de un código de siete digitos con propiedades de detección de error. Cada dígito decimal consiste de 5 ceros y 2 unos colocados en las correspondientes columnas de carga. La propiedad de detección de error de este código puede comprenderse si uno se da cuenta de que los sistemas digitales representan el binario 1 mediante una señal específica uno y el binario cero por otra segunda señal específica. Durante la trasmisión de señales de un lugar
  • 2. a otro puede presentarse un error. Uno o más bits pueden cambiar de valor. Un circuito en el lado de recepción puede detectar la presencia de más (o menos) de dos unos y en el caso de que la combinación permitida, se detectará un error. Digito Decimal BCD 8421 Exceso a 3 84-2-1 2421 (Biguinario) 5043210 0 0 11 0 0 0100001 1 1 100 111 1 0100010 2 10 101 110 10 0100100 3 11 110 101 11 0101000 4 100 111 100 100 0110000 5 101 1000 1011 1011 1000001 6 110 1001 1010 1100 1000010 7 111 1010 1001 1101 1000100 8 1000 1011 1000 1110 1001000 9 1001 1100 1111 1111 1010000 Ejemplos El código BCD utiliza 4 dígitos binarios (ver en los dos ejemplos que siguen) para representar un dígito decimal (0 al 9). Cuando se hace conversión de binario a decimal típica no hay una directa relación entre el dígito decimal y el dígito binario. Ejemplo 1: Conversión directa típica entre un número en decimal y uno binario. 8510 = 10101012 La representación el mismo número decimal en código BCD se muestra a la derecha Ejemplo2:
  • 3. Conversión directa típica entre un número en decimal y uno binario. 56810 = 10001110002 La representación el mismo número decimal en código BCD se muestra a la derecha Como se puede ver, de los dos ejemplos anteriores, el número equivalente decimal no se parece a la representación en código BDC. Código Exceso 3 El código Exceso 3 se obtiene sumando "3" a cada combinación del código BCD natural. Ver la tabla inferior a la derecha. El código exceso 3 es un código en donde la ponderación no existe (no hay "pesos" como en el código BCD natural y código Aiken. Al igual que el código Aiken cumple con la misma característica de simetría. Cada cifra es el complemento a 9 de la cifra simétrica en todos sus dígitos. Ver la simetría en el código exceso 3 correspondiente a los decimales: 4 y 5, 3 y 6, 2 y 7, 1 y 8, 0 y 9 Es un código muy útil en las operaciones de resta y división. Características Ponderación La mayoría de los sistemas de numeración actuales son ponderados, es decir, cada posición de una secuencia de dígitos tiene asociado un peso. El sistema binario es, de hecho, un sistema de numeración posicional ponderado. Sin embargo, algunos códigos binarios, como el código Gray, no son ponderados, es decir, no tienen un peso asociado a cada posición. Otros, como el mismo código binario natural o el BCD natural sí lo son. Distancia Es una característica sólo aplicable a las combinaciones binarias. La distancia entre dos combinaciones es el número de bits que cambian de una a otra. Por ejemplo, si se tienen las combinaciones de cuatro bits 0010 y 0111,correspondientes al 2 y al 7 en binario natural, se dirá que la distancia entre ellas es igual a dos ya que de una a otra cambian dos bits .Además, con el concepto de distancia se puede definir la distancia mínima de un código. Ésta no es más que la distancia menor que haya entre dos de las combinaciones de ese código.
  • 4. Código gray El código GRAY es utilizado principalmente en sistemas de posición, ya sea angular o lineal. Sus aplicaciones principales se encuentran en la industria y en robótica. En robótica se utilizan unos discos codificados para dar la información de posición que tiene un eje en particular. Esta información se da en código GRAY. Analizando la tabla: - Cuando un número binario pasa de: 0111 a 1000 (de 7 a 8 en decimal) o de 1111 a 0000 (de 16 a 0 en decimal) cambian todas las cifras. - Para el mismo caso pero en código Gray: 0100 a 1100 (de 7 a 8 en decimal) o de 1000 a 0000 (de 16 a 0 en decimal) sólo ha cambiado una cifra. La característica de pasar de un código al siguiente cambiando sólo un dígito asegura menos posibilidades de error.
  • 5. Nombre El investigador de Laboratorios Bell Frank Gray inventó el término código binario reflejado cuando lo patentó en 1947, remarcando que éste "no tenía nombre reconocido aún". Él creó el nombre basándose en el hecho de que el código "puede ser construido a partir delcódigo binario convencional por una suerte de 'proceso reflejante'". El código fue llamado posteriormente "Gray" por otros investigadores. Dos patentes en 1953 dieron como nombre alternativo "código de Gray" para el "código binario reflejado"; uno de ellas también se refiere al código como "minimum error code" (código de error mínimo) y como "cyclic permutation code" (código de permutación cíclica) CONVERSIÓN DE BINARIO A CÓDIGO GRAY La conversión entre el código binario y el código Gray a vesces es muy útil. Primeramente, mostraremos cómo convertir un número binario a un número de código Gray. Se aplican las siguientes reglas: odigo Gray es el mismo que el MSB correspondiente en el número binario, obtener el siguiente bit del codigo Gray. Descarte acarreos. Ejemplo: Paso 1. El digito del codigo Gray mas a la izquierda es el mismo que el digito del codigo binario mas a la izquierda. 1 0 1 1 0 Binario 1 Gray Paso 2. Sume el bit de codigo binario mas a la izquierda al bit adyacente. 1 + 0 1 1 0 Binario 1 1 Gray Paso 3. Sume el siguiente par adyacente. 1 0 + 1 1 0 Binario 1 1 1 Gray Paso 4. Sume el siguiente par adyacente y descarte el acarreo.
  • 6. 1 0 1 + 1 0 Binario 1 1 1 0 Gray Paso 5. Sume el ultimo par adyacente. 1 0 1 1 +0 Binario 1 1 1 0 1 Gray La conversion ha sido completada; el codio Gray es 11101. CONVERSIÓN DE GRAY A BINARIO Para convertir de códio Gray a Binario, se utiliza un método similar, pero con algunas diferencias. Se aplican las sigientes reglas: bit más significativo(el más a la izquierda) es el código binario es el mismo que el bit correspondiente en el codigo Gray. adyacente. Descarte acarreos. Ejemplo: Paso 1. El digito del codigo binario mas a la izquierda es el mismo que el digito del codigo Gray mas a la izquierda. 1 1 0 1 1 Gray 1 Binario Paso 2. Sume el ultimo bit del codigo binario que se acaba de generar al bit del codigo Gray en la siguiente posicion. Descarte acarreos.(En negrilla bit que se suman). 1 1 0 1 1 Gray 1 0 Binario Paso 3. Sume el ultimo bit del codigo binario que se acaba de generar al bit del codigo Gray en la siguiente posicion.
  • 7. 1 1 0 1 1 Gray 1 0 0 Binario Paso 4. Sume el ultimo bit del codigo binario que se acaba de generar al bit del codigo Gray en la siguiente posicion. 1 1 0 1 1 Gray 1 0 0 1 Binario Paso 5. Sume el ultimo bit del codigo binario que se acaba de generar al bit del codigo Gray en la siguiente posicion. Descarte acarreos. 1 1 0 1 1 Gray 1 0 0 1 0 Binario La conversion ha sido completada; el codigo binario es 10010 Aplicaciones Hasta la primera mitad de los años 1940 los circuitos lógicos digitales se realizaban con válvulas de vacío y dispositivos electromecánicos. Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simultáneamente. Tomando esto en cuenta, Frank Gray inventó un método para convertir señales analógicas a grupos de código binario reflejado utilizando un aparato diseñado con válvulas de vacío, con lo cual garantizó que en cualquier transición variaría tan sólo un bit. En la actualidad, el código Gray se emplea como parte del algoritmo de diseño de los mapas de Karnaugh, los cuales son, a su vez, utilizados como "herramienta de diseño" en la implementación de circuitos combinacionales y circuitos secuenciales. La vigencia del código Gray se debe a que un diseño digital eficiente requerirá transiciones más simples y rápidas entre estados lógicos (0 ó 1), por ello es que se persiste en su uso, a pesar de que los problemas de ruido y potencia se hayan reducido con la tecnología de estado sólido de los circuitos integrados.
  • 8. Utilizando el código Gray es posible también resolver el problema de las Torres de Hanói. Se puede incluso formar un ciclo hamiltoniano o un hipercubo, en el que cada bit se puede ver como una dimensión. Debido a las propiedades de distancia de Hamming que posee el código Gray, es usado en ocasiones en algoritmos genéticos. Características Es un código binario que se caracteriza por modificar un sólo bit de un estado al siguiente. El bit más significativo (MSB) en el código Gray es el mismo que el correspondiente al número binario. Yendo de izquierda a derecha, sumamos cada par adyacente de los bits en código binario para obtener el siguiente bit en código Gray, teniendo en cuenta que los acarreos deben descartarse. Codigo hamming Hoy, el código de Hamming se refiere al (7.4) que Hamming introdujo en 1950. El código de Hamming agrega tres bits adicionales de comprobación por cada cuatro bits de datos del mensaje. El algoritmo de Hamming (7.4) puede corregir cualquier error de un solo bit, y detecta todos los errores de dos bits. Para un ambiente en el que el ruido pueda cambiar como máximo 2 bits de 7, el código Hamming (7.4) es generalmente el de pérdida mínima. El medio tendría que ser muy ruidoso para que se perdieran más de 2 bits de cada 7 (casi el 45% de los bits transmitidos), y habría que considerar seriamente cambiar a un medio de transmision más fiable. El algoritmo es simple: 1. Todos los bits cuya posición 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 posición 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 continuación. * Posición 1: salta 1, comprueba 1, salta 1, comprueba 1, etc. * Posición 2: comprueba 1, salta 2, comprueba 2, salta 2, comprueba 2, etc.
  • 9. * Posición 4: comprueba 3, salta 4, comprueba 4, salta 4, comprueba 4, etc. * Posición 8: comprueba 7, salta 8, comprueba 8, salta 8, comprueba 8, etc. * Posición 16: comprueba 15, salta 16, comprueba 16, salta 16, comprueba 16, etc. * Y así sucesivamente. Así pues en la Posición 1, comprobaríamos los bits: 3, 5, 7, 9, 11...; en la Posición 2, los bits: 3, 6, 7, 10, 11, 14, 15...-; en la Posición 4 tendríamos: 5, 6, 7, 12, 13, 14, 15... Así hasta completar la nueva cadena. Ejemplo Consideremos la palabra de datos de 7 bits "0110101". Para ver cómo se generan y utilizan los códigos 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. Cálculo de los bits de paridad en el código Hamming p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra de datos (sin paridad): 0 1 1 0 1 0 1 p1 1 0 1 0 1 1 p2 0 0 1 0 0 1 p3 0 1 1 0 p4 0 1 0 1 Palabra de datos (con paridad): 1 0 0 0 1 1 0 0 1 0 1 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"; cuando se analice el modo en que se obtienen los bits de paridad en los códigos de Hamming se observarán variaciones en la paridad, lo que significará que hay error. Comprobación de los bits de paridad (con primer bit de la derecha cambiado) p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Prueba de paridad Bit de paridad Palabra de datos recibida: 1 0 0 0 1 1 0 0 1 0 0 p1 1 0 1 0 1 0 Error 1 p2 0 0 1 0 0 0 Error 1 p3 0 1 1 0 Correcto 0 p4 0 1 0 0 Error 1 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, lo que significa que el bit décimo primero de la palabra de datos (bits de paridad incluidos) es el erróneo y necesita ser cambiado.
  • 10. p4 p3 p2 p1 Binario 1 0 1 1 Decimal 8 2 1 Σ = 11 Cambiando el bit décimo primero 10001100100 se obtiene de nuevo 10001100101. Eliminando los bits de paridad de Hamming se vuelve a obtener la palabra de datos original 0110101. Observe que en la comprobación de la paridad no se tienen en cuenta los bits de paridad. Si el error se produjera en uno de ellos, en la comprobación sólo se detectaría un error, justo el correspondiente al bit de paridad causante del mismo. Finalmente, cuando cambien dos bits, en la comprobación de paridad se obtendrá un valor decimal superior a 11, detectándose el error; sin embargo no se podrán saber las posiciones de los dos bits que cambiaron. Características • Para corregir un error detectado, se requiere más información. • La posición del error debe ser identificada, para poder ser corregida. • Se requiere más de un bit de paridad para poder corregir un error detectado. • El código Hamming nos permite corregir errores unitarios. Deteccionde errores Para detectar un error, en el caso de un codigo binario, se debe agregar un simbolo binario (0 o 1) a cada cadena de datos de K simbolos de informacion de forma tal que la cantidad total de unos en la cadena codificada sea par, es decir, que la cadena tenga paridad par. La distorsion de algun simbolos traslada la palabra codificada permisible al conjunto de las
  • 11. palabras prohibidas, lo que se detecta en el extremo receptor, debido a la cantidad impar de unos. La propiedades de deteccion y correccion de errores de un codigo depende de su distancia de Hamming. Esta representa la cantidad de simbolos en los que una cadena de datos se diferencia de otra cadena y se simboliza con la letra "d". Para determinar la cantidad de bits diferentes, en el caso de una cadena binaria, basta aplicar una operacion OR exclusivo a las dos cadenas y contar la cantidad de bits 1 en el resultado, por ejemplo: d=3, N=8 10001001 OR 10110001 = 00111000 En el caso anterior, se muestra que la distancia de Hamming es: d=3 y la longitud de la cadena de datos es: N=8. La manera de saber si una cadena recibida tiene errores es identificando si dicha cadena es un codigo permisible. Entonces si se tiene un codigo con longitud N=3, indica que se tiene el siguiente codigo binario: [000, 001, 010, 011, 100, 101, 110, 111] Del codigo anterior se puede aplicar una distancia d=2, esto indica que el codigo anterior se divide en un codigo permisible y un codigo prohibido. [000, 011, 101, 110] Codigo permisible. [001, 010, 100, 111] Codigo prohibido El decodificador despues de la recepcion puede realizarse de forma tal que la palabra codificada recibida se identifique con aquella palabra permisible que se encuentre con ella. Si el receptor encuentra que el codigo que llego es una palabra prohibida, detecta que hubo un error y pide retransmision. Aplicaciones y uso El sistema de códigos Haming es muy utilizado en elementos como memorias y en comunicaciones en las tramas de Wifi. • En el año 1987 Intel introdujo el circuito integrado 8206 cuya misión era detectar y corregir errores en palabras de 8 o de 16 bits. Inicialmente su campo de aplicación era corregir los posibles errores generados al leer datos desde una memoria. • En el año 1996, la firma CML introdujo el circuito integrado FX909A. Se trata de un modem para comunicaciones inalámbricas vía radio que incorpora la modulación GMSK
  • 12. Código ascii ASCII (acrónimo inglés de American Standard Code for Information Interchange — Código Estándar Estadounidense para el Intercambio de Información), pronunciado generalmente [áski] o [ásci] o [ásqui], es un código de caracteres basado en elalfabeto latino, tal como se usa en inglés moderno. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía. Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control para formar el código conocido como US-ASCII. Breve historia del Código ASCII: Este código nació a partir de reordenar y expandir el conjunto de símbolos y caracteres ya utilizados en aquel momento en telegrafía por la compañía Bell. En un primer momento solo incluía letras mayúsculas y números, pero en 1967 se agregaron las letras minúsculas y algunos caracteres de control, formando así lo que se conoce como US-ASCII, es decir los caracteres del 0 al 127. Así con este conjunto de solo 128 caracteres fue publicado en 1967 como estándar, conteniendo todos lo necesario para escribir en idioma ingles. Usos y aplicaciones Como utilizar el código ASCII: Sin saberlo lo utilizas todo el tiempo, cada vez que utilizas algún sistema informatico; pero si lo que necesitas es obtener algunos de los caracteres no incluidos en tu teclado debes hacer lo siguiente, por ejemplo: Como escribir con el teclado, o tipear : Letra EÑE mayúscula - letra N con tilde – ENIE WINDOWS: en computadoras con sistema operativo como Windows 8, Win 7, Vista, Windows Xp, etc. Para obtener la letra, caracter, signo o símbolo "Ñ" : ( Letra EÑE mayúscula - letra N con tilde - ENIE ) en ordenadores con sistema operativo Windows: 1) Presiona la tecla "Alt" en tu teclado, y no la sueltes. 2) Sin dejar de presionar "Alt", presiona en el teclado numérico el número "165",
  • 13. que es el número de la letra o símbolo "Ñ" en el código ASCII. 3) Luego deja de presionar la tecla "Alt" y... ¡ Ya está listo ! (318) . Aplicaciones En 1981, la empresa IBM desarrolló una extensión de 8 bits del código ASCII, llamada "pagina de código 437", en esta versión se reemplazaron algunos caracteres de control obsoletos, por caracteres gráficos. Además se incorporaron 128 caracteres nuevos, con símbolos, signos, gráficos adicionales y letras latinas, necesarias para la escrituras de textos en otros idiomas, como por ejemplo el español. Así fue como se sumaron los caracteres que van del ASCII 128 al 255. IBM incluyó soporte a esta página de código en el hardware de su modelo 5150, conocido como "IBM-PC", considerada la primera computadora personal. El sistema operativo de este modelo, el "MS-DOS" también utilizaba el código ASCII extendido. Casi todos los sistemas informáticos de la actualidad utilizan el código ASCII para representar caracteres, símbolos, signos y textos (317) Los caracteres de controlASCII Binario Decim al He x Abreviatu ra Rep r AT Nombre/Significa do 0000 000 0 0 00 NUL ␀ ^@ Carácter Nulo 0000 000 1 1 01 SOH ␁ ^A Inicio de Encabezado 0000 001 0 2 02 STX ␂ ^B Inicio de Texto 0000 001 1 3 03 ETX ␃ ^C Fin de Texto 0000 010 0 4 04 EOT ␄ ^D Fin de Transmisión
  • 14. 0000 010 1 5 05 ENQ ␅ ^E Consulta 0000 011 0 6 06 ACK ␆ ^F Acuse de recibo 0000 011 1 7 07 BEL ␇ ^G Timbre 0000 100 0 8 08 BS ␈ ^H Retroceso 0000 100 1 9 09 HT ␉ ^I Tabulación horizontal 0000 101 0 10 0A LF ␊ ^J Salto de línea 0000 101 1 11 0B VT ␋ ^K Tabulación Vertical 0000 110 0 12 0C FF ␌ ^L De avance 0000 110 1 13 0D CR ␍ ^M Retorno de carro 0000 111 0 14 0E SO ␎ ^N Mayúsculas fuera 0000 111 1 15 0F SI ␏ ^O En mayúsculas 0001 000 0 16 10 DLE ␐ ^P Enlace de datos / Escape 0001 000 1 17 11 DC1 ␑ ^Q Dispositivo de control 1 — oft. XON 0001 001 18 12 DC2 ␒ ^R Dispositivo de
  • 15. 0 control 2 0001 001 1 19 13 DC3 ␓ ^S Dispositivo de control 3 — oft. XOFF 0001 010 0 20 14 DC4 ␔ ^T Dispositivo de control 4 0001 010 1 21 15 NAK ␕ ^U Confirmación negativa 0001 011 0 22 16 SYN ␖ ^V Síncrono en espera 0001 011 1 23 17 ETB ␗ ^W Fin de Transmisión del Bloque 0001 100 0 24 18 CAN ␘ ^X Cancelar 0001 100 1 25 19 EM ␙ ^Y Finalización del Medio 0001 101 0 26 1A SUB ␚ ^Z Substituto 0001 101 1 27 1B ESC ␛ ^[ or ESC Escape 0001 110 0 28 1C FS ␜ ^ Separador de fichero 0001 110 1 29 1D GS ␝ ^] Separador de grupo 0001 111 0 30 1E RS ␞ ^^ Separador de registro 0001 111 31 1F US ␟ ^_ Separador de
  • 16. 1 unidad 0111 111 1 127 7F DEL ␡ ^?, Delete o Backsp ace Eliminar Características El código ASCII representa un conjunto de números desde el 0 al 127, en escala decimal, para el procesador que se trata de una cadena binaria que está compuesto por dos elementos o unidades de 7 dígitos, donde 127 se expresa como 1111111 y resulta especialmente útil para la realización de los sitios web. También existen muchos formularios que pueden llenar los usuarios y sobre todo si la página tiene diferentes versiones en varios idiomas que son importantes y puede ser muy meticuloso en el procesamiento del texto ingresado para asegurar que se almacene en la base de datos y de esa forma pueda revisar la información y no existan errores a la hora de imprimir los caracteres especiales, porque la combinación de caracteres se emplea para crear y entender mensajes secretos. Código de paridad par e impar Un bit de paridad es un dígito binario que indica si el número de bits con un valor de 1 en un conjunto de bits espar o impar. Los bits de paridad conforman el método de detección de errores más simple. La paridad par es un caso especial del control de redundancia cíclica (CRC), donde el bit de CRC se genera por el polinomio x+1. Nótese que este método detecta los errores, pero no los corrige (salvo en el caso de que la palabra transmitida sea de tamaño 1 bit). Existen dos variantes de este método, bit de paridad par y bit de paridad impar: En el caso de la paridad par, se cuentan el número de unos. Si el total es impar, el bit de paridad se establece en uno y por tanto la suma del total anterior con este bit de paridad,
  • 17. daría par. Si el conteo de bits uno es par, entonces el bit de paridad(par) se deja en 0, pues ya es par. En el caso de la paridad impar, la situación es la contraria. Se suman los bits cuyo valor es uno, si da un número impar de bits, entonces el bit de paridad(impar) es cero. Y si la suma de los bits cuyo valor es uno es par, entonces el bit de paridad(impar) se establece en uno, haciendo impar la cuenta total de bits uno. 7 bits de datos byte con bit de paridad par impar 0000000 00000000 00000001 1010001 10100011 10100010 1101001 11010010 11010011 1111111 11111111 11111110 ¿Diferencias entre el código de paridad par y el código de paridad impar? Código de paridad par El bit de paridad será un 0 si el número total de 1 a transmitir es par, y un 1 si el número total de 1 es impar. Código de paridad impar El bit de paridad será un 1 si el número total de 1 a transmitir es par y un 0 si el número total de 1 es impar. Normalmente el bit de paridad se añade a la izquierda del carácter original. Ejemplos: Tenemos el carácter original 0111001. Vemos que la trama a transmitir tiene un número par de unos (4). Al añadir el bit de paridad obtendremos el siguiente carácter, que es el que se transmitirá a destino: * Si usamos paridad par, ya hay un número par de unos, por tanto se añade un 0, y transmitiremos 00111001 * Si usamos paridad impar, como hay un número par de unos, hemos de añadir otro 1 para
  • 18. conseguir un número impar, y transmitiremos 10111001 Si se envía un dato y durante la transmisión 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 quedaría. * Paridad par: se recibe 00110001 en vez de 00111001. Al comprobar el número de unos nos salen 3 (impar), luego se ha producido un error. * Paridad impar, se recibe 10110001 en vez de 10111001. Al comprobar el número de unos nos salen 4 (par), luego se ha producido un error. Este método, aunque resulta satisfactorio en general, sólo es útil si los errores no cambian un número par de bits a la vez, ya que un número par de errores no afecta a la paridad final de los datos. Usos y aplicaciones Paridad par, que consiste en añadir un “1" si la palabra original contiene un número impar de unos, y un “0" si contiene un número par de unos. En cualquier caso, todas las palabras del código tendrán un número par de unos. Paridad impar, que consiste en añadir un “1" si la palabra original contiene un número par de unos y se añadirá un “0" si contiene un número impar de unos. En este otro caso, todas las palabras del código tendrán un número impar de unos. De esta forma, si se produce un error en un bit, éste será detectado. Aunque este sistema es capaz de detectar un número impar de errores, no es capaz de detectar un número par de errores. EJEMPLO Se desea enviar la palabra “1001011" utilizando paridad impar. El emisor envía la siguiente
  • 19. palabra codificada: 10010111 Sin embargo, se produce un error en el dígito número 2, con lo que llega: 10010101 El receptor sabrá que se ha producido un error porque la paridad de la palabra recibida es par. Sin embargo, si se hubieran producido dos errores (recibiendo la palabra “11010011", por ejemplo) el receptor no detectaría ningún error. Características Para los caracteres del código ASCII, el uso de un bit de paridad soló disminuye en un 12% la capacidad del canal. Los métodos de paridad se pueden extender agrupando varios datos, por ejemplo, varios bytes en forma de matriz rectangular y calcular la paridad, tanto en vertical como en horizontal. Estos métodos se denominan método de cálculo de paridad por bloques. Evidentemente, proporcionan una mayor protección para los datos, aunque son algo más complejos y menos eficientes. Cuando se trabaja en entornos síncronos no es rentable la utilización de métodos basados en paridad, debido a la deficiente utilización del ancho de banda del canal. Además, se precisa una protección más fuerte sin consumir demasiados recursos en el proceso de detección apropiadamente. Está cada vez más extendido el uso de métodos de redundancia cíclica como respuesta a estas necesidades.