El documento describe varios códigos binarios utilizados para representar números decimales en computadoras, incluyendo el código BCD, el código de exceso 3, y el código Gray. Explica las propiedades de estos códigos como la ponderación, la distancia, y cómo se pueden convertir entre binario y estos códigos. También menciona aplicaciones como la detección de errores y la corrección de errores usando el código de Hamming.
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.