SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
1. Código BCD: Es la presentación de números, letras o palabras por medio de un
grupo especial de símbolos, se dice que se encuentran codificados, y al grupo de
símbolos se le llama código. En sistemas de computación, Binary-Coded Decimal (BCD)
o Decimal codificado en binario es un estándar para representar números decimales
en el sistema binario, en donde cada dígito decimal es codificado con una secuencia de
4 bits. Con esta codificación especial de los dígitos decimales en el sistema binario, se
pueden realizar operaciones aritméticas como suma, resta, multiplicación y división de
números en representación decimal, sin perder en los cálculos la precisión ni tener las
inexactitudes en que normalmente se incurre con las conversiones de decimal a
binario puro y de binario puro a decimal. La conversión de los números decimales a
BCD y viceversa es muy sencilla, pero los cálculos en BCD se llevan más tiempo y son
algo más complicados que con números binarios puros.
Fundamento: En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se
representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así
porque es el número de bits necesario para representar el nueve, el número más alto
que se puede representar en BCD).
Procedimiento de conversión a binario y de binario al código. De binario a BCD:
Lamentablemente, de binario a BCD no podemos simplemente separar conjuntos de
cuatro bits y esperar a que todo funcione. Para la conversión, se requiere el uso de un
algoritmo denominado desplazar a la izquierda y sumar tres. Y lo que hace es, bueno,
¡desplazar y sumar tres!
En resumen, el proceso es:
1. Desplazar el número binario hacia la izquierda un bit.
2. Si alguno de los dígitos tiene un valor igual o mayor a cinco, sumar tres.
3. Repetir los pasos 1 y 2 la cantidad de bits del número binario que se quiere
convertir.
En esta entrada se realiza el ejemplo del convertidor pensado para el metrónomo, la
cantidad de BPM a visualizar va de 1 a 512. Lo que implica 3 dígitos en BCD. Y las
direcciones de la ROM van de 0 a 511, cantidades que se representan en 9 bits. Por lo
tanto, el componente a ser desarrollado es un convertidor de 9 bits en binario a tres
dígitos en BCD. En la tabla 2 se muestra la estructura básica de cómo se alineará fn los
datos para la conversión: centenas, decenas, unidades, y el número binario inicial.
BCD Binario
Centenas
(4 bits)
Decenas
(4 bits)
Unidades
(4 bits)
Número binario
(9 dígitos)
2. Código Gray: El código binario reflejado o código Gray, nombrado así en honor del
investigador Frank Gray, es un sistema de numeración binario en el que dos valores
sucesivos difieren solamente en uno de sus dígitos.
El código Gray fue diseñado originalmente para prevenir señales ilegales (señales falsas
o viciadas en la representación) de los switches electromecánicos, y actualmente es
usado para facilitar la corrección de errores en los sistemas de comunicaciones, tales
como algunos sistemas de televisión por cable y la televisión digital terrestre.
Este código pertenece a una clase d códigos llamada código de cambio mínimo, en los
cuales solo un bit del grupo d código cambia cuando pasa d una etapa a la siguiente. El
código Gray es un código de sin valor, es decir, las posiciones de los bits en los grupos
de código no tienen valor específicos. Debido a esto el código no se ajusta a las
operaciones aritméticas sino que haya aplicación en dispositivos de entrada y salida y
algunos tipos de convertidores de analógico a digital.
Historia y aplicaciones prácticas:
El código binario reflejado fue aplicado para acertijos matemáticos antes de ser usado
para la ingeniería. El ingeniero francés Émile Baudot le dio una aplicación al código de
Gray en 1878 en telegrafía, trabajo por el cual fue condecorado con la Legión de
Honor.
El código Gray es atribuido en algunas ocasiones, en forma incorrecta, a Elisha
Gray (en Principles of Pulse Code Modulation, K. W. Cattermole, por ejemplo.)
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
persisten 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.
Otra aplicación del código Gray s da cuando datos analógicos se representan mediante
un cambio continuo en la posición de un eje o fecha. El eje se divide en segmentos, y
se asigna un número a cada segmento. Si hacemos que segmentos adyacentes
correspondan a la sucesión del código Gray, se elimina la ambigüedad cuando la
detección se efectúa en la línea que separa dos segmentos cualesquiera.
Conversiones:
Binario a Gray: Para pasar un número binario al código binario Gray, hay una regla fácil
de implementar en un lenguaje de programación:
Un número en binario siempre empieza en 1 --Los ceros a la izquierda no cuentan--;
Pues en Gray también. Ej: 1000011110000 en binario se escribe 1xxxxXXXXxxxx.
Ahora nos fijamos en el segundo dígito. Si es igual al dígito anterior se pone un 0 (no
cambia); Si es diferente --como es el caso, pues el dígito anterior era un 1 y el que
observamos un 0-- se pondrá un 1 (cambia). Ej: El número del ejemplo anterior será:
11xxxXXXXxxxx.
En los casos sucesivos se repite el paso anterior, observando en el número binario
'natural' el dígito anterior al que se evalúa. Ej: El número del ejemplo anterior, pasado
a código Gray será: 1100010001000.
Secuencia Binario Gray Secuencia Binario Gray
0 0000 0000 8 1000 1100
1 0001 0001 9 1001 1101
2 0010 0011 10 1010 1111
3 0011 0010 11 1011 1110
4 0100 0110 12 1100 1010
5 0101 0111 13 1101 1011
6 0110 0101 14 1110 1001
7 0111 0100 15 1111 1000
Gray a Binario: Hacer el cambio contrario es simplemente invertir lo que hace el
anterior, de forma que si se encuentra un cero (siempre que no sea al principio) se
debe poner la cifra anterior; En cambio si pone un 1 es porque la cifra ha cambiado así
que si había un 0 ahora se pone un 1 y viceversa.
3. Código Hamming: es un código detector y corrector de errores que lleva el nombre
de su inventor, Richard Hamming. En los datos codificados en Hamming se pueden
detectar errores en un bit y corregirlos, sin embargo no se distingue entre errores de
dos bits y de un bit (para lo que se usa Hamming extendido). Esto representa una
mejora respecto a los códigos con bit de paridad, que pueden detectar errores en sólo
un bit, pero no pueden corregirlo.
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: La 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.
La distancia es una característica que, además, sólo se aplica a las combinaciones
binarias. En resumen, la distancia entre dos combinaciones es el número de bits que
cambian de una a otra.
Continuidad: La continuidad es una característica de los códigos binarios que cumplen
todas las posibles combinaciones del código que son adyacentes, es decir, que de
cualquier combinación del código a la siguiente cambia un sólo bit. En este caso se dice
que el código es continuo. Cuando la última combinación del código es, a su vez,
adyacente a la primera, se trata de un código cíclico.
Aplicaciones:
Electrónica: El BCD es muy común en sistemas electrónicos donde se debe mostrar un
valor numérico, especialmente en los sistemas digitales no programados (sin
microprocesador o microcontrolador).
Es Utilizando el código BCD, se simplifica la manipulación de los datos numéricos que
deben ser mostrados por ejemplo en un visualizador de siete segmentos. Esto lleva a
su vez una simplificación en el diseño físico del circuito (hardware).
Si la cantidad numérica fuera almacenada y manipulada en binario natural, el circuito
sería mucho más complejo que si se utiliza el BCD. Hay un programa que se llama
b1411 que sirve para dividir al sistema binario en dos combinaciones. Una por ejemplo
es la de sistemas digitales.
Código Hamming: Es un código que se utiliza en la detección y corrección de
errores que se producen en la transmisión de códigos binarios, la palabra de código
se conforma por los bits de comprobación y los bits de información.
Fundamentos: el código Hamming plantea ingresar a la tabla un número adicional con
el propósito de encontrar más de un bit dañado, esto lo logra mediante el
desarrollo de matrices estas matrices se computan para poder detectar y corregir un
bit dañado e informar cuando hay dos o más bit dañados en el proceso. El
proceso matricial es como lo desarrollaría realmente un sistema de cómputo.
Características:
Para la generación del código Hamming se deben tener en cuenta tres características
variables que mencionaremos a continuación:
N: número de bits del código original que se pretende transmitir.
P: número de bits de paridad par generados en el transmisor, o sea, número de
líneas que añadimos al código inicial.
C: número de bits detectores de paridad par generados por el receptor.
El valor de p = c, ya que los bits de paridad generados tanto en el
transmisor como en el receptor debe ser la misma.
El número de combinaciones que se pueden formar con los c bits detectores de
paridad tiene que ser mayor o igual que el número de líneas del código original (n)
más el número de líneas de paridad añadidas (p) más uno, este último para con
templar el caso de no error.
Aplicaciones y uso: Código Hamming sirve para detectar errores en una secuencia de
bits por medio de un control de paridad. Para esto se añade un bit de control a la
secuencia original que indique si la suma de los bits es par o impar, con el ejemplo se
puede entender más fácilmente
4. Código ASCII:
El código ASCII (siglas en ingles para American Standard Code for Information
Interchange, es decir Código Americano ( Je! lease estadounidense... ) Estándar para el
intercambio de Información) (se pronuncia Aski).
Fue creado en 1963 por el Comité Estadounidense de Estándares o "ASA", este
organismo cambio su nombre en 1969 por "Instituto Estadounidense de Estándares
Nacionales" o "ANSI" como se lo conoce desde entonces.
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.
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.
Código Ascii: Es un código de caracteres basado en el alfabeto 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.
El código ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente
empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la
transmisión. A menudo se llama incorrectamente ASCII a otros códigos de caracteres
de 8 bits, como el estándar ISO-8859-1, que es una extensión que utiliza 8 bits para
proporcionar caracteres adicionales usados en idiomas distintos al inglés, como el
español.
ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por
última vez en 1986. En la actualidad define códigos para 32 caracteres no imprimibles,
de los cuales la mayoría son caracteres de control que tienen efecto sobre cómo se
procesa el texto, más otros 95 caracteres imprimibles que les siguen en la numeración
(empezando por el carácter espacio).
Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión
compatible para representar textos y para el control de dispositivos que manejan texto
como el teclado. No deben confundirse los códigos ALT+número de teclado con los
códigos ASCII.
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 tipiar: 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! (320) .
Los caracteres de control ASCII:
El código ASCII reserva los primeros 32 códigos (numerados del 0 al 31 en decimal)
para caracteres de control: códigos no pensados originalmente para representar
información imprimible, sino para controlar dispositivos (como impresoras) que
usaban ASCII. Por ejemplo, el carácter 10 representa la función "nueva línea" (line
feed), que hace que una impresora avance el papel, y el carácter 27 representa la tecla
"escape" que a menudo se encuentra en la esquina superior izquierda de los teclados
comunes. El código 127 (los siete bits a uno), otro carácter especial, equivale a
"suprimir" ("delete"). Aunque esta función se asemeja a otros caracteres de control,
los diseñadores de ASCII idearon este código para poder "borrar" una sección de papel
perforado (un medio de almacenamiento popular hasta la década de 1980) mediante
la perforación de todos los agujeros posibles de una posición de carácter concreta,
reemplazando cualquier información previa. Dado que el código 0 era ignorado, fue
posible dejar huecos (regiones de agujeros) y más tarde hacer correcciones. Muchos
de los caracteres de control ASCII servían para marcar paquetes de datos, o para
controlar protocolos de transmisión de datos (por ejemplo ENQuiry, con el significado:
¿hay alguna estación por ahí?, ACKnowledge: recibido o ", Start Of Header: inicio de
cabecera, Start of TeXt: inicio de texto, End of TeXt: final de texto, etc.). ESCape y
SUBstitute permitían a un protocolo de comunicaciones, por ejemplo, marcar datos
binarios para que contuviesen códigos con el mismo código que el carácter de
protocolo, y que el receptor pudiese interpretarlos como datos en lugar de como
caracteres propios del protocolo. Los diseñadores del código ASCII idearon los
caracteres de separación para su uso en sistemas de cintas magnéticas. Dos de los
caracteres de control de dispositivos, comúnmente llamados XON y XOFFgeneralmente
ejercían funciones de caracteres de control de flujo para controlar el flujo hacia un
dispositivo lento (como una impresora) desde un dispositivo rápido (como una
computadora), de forma que los datos no saturasen la capacidad de recepción del
dispositivo lento y se perdiesen. Los primeros usuarios de ASCII adoptaron algunos de
los códigos de control para representar "metainformación" como final-de-línea,
principio/final de un elemento de datos, etc. Estas asignaciones a menudo entraban en
conflicto, así que parte del esfuerzo de convertir datos de un formato a otro comporta
hacer las conversiones correctas de metainformación. Por ejemplo, el carácter que
representa el final-de-línea en ficheros de texto varía con el sistema operativo. Cuando
se copian archivos de un sistema a otro, el sistema de conversión debe reconocer estos
caracteres como marcas de final-de-línea y actuar en consecuencia. Actualmente los
usuarios de ASCII usan menos los caracteres de control, (con algunas excepciones
como "retorno de carro" o "nueva línea"). Los lenguajes modernos de etiquetas, los
protocolos modernos de comunicación, el paso de dispositivos basados en texto a
basados en gráficos, el declive de las teleimpresoras, las tarjetas perforadas y los
papeles continuos han dejado obsoleta la mayoría de caracteres de control.
Binario Decimal Hex Abreviatura Repr AT Nombre/Significado
0000 0000 0 00 NUL ␀ ^@ Carácter Nulo
0000 0001 1 01 SOH ␁ ^A Inicio de Encabezado
0000 0010 2 02 STX ␂ ^B Inicio de Texto
0000 0011 3 03 ETX ␃ ^C Fin de Texto
0000 0100 4 04 EOT ␄ ^D Fin de Transmisión
0000 0101 5 05 ENQ ␅ ^E Consulta
0000 0110 6 06 ACK ␆ ^F Acuse de recibo
0000 0111 7 07 BEL ␇ ^G Timbre
0000 1000 8 08 BS ␈ ^H Retroceso
0000 1001 9 09 HT ␉ ^I Tabulación horizontal
0000 1010 10 0A LF ␊ ^J Salto de línea
0000 1011 11 0B VT ␋ ^K Tabulación Vertical
0000 1100 12 0C FF ␌ ^L De avance
0000 1101 13 0D CR ␍ ^M Retorno de carro
0000 1110 14 0E SO ␎ ^N Mayúsculas fuera
0000 1111 15 0F SI ␏ ^O En mayúsculas
0001 0000 16 10 DLE ␐ ^P Enlace de datos / Escape
0001 0001 17 11 DC1 ␑ ^Q Dispositivo de control 1 — oft. XON
0001 0010 18 12 DC2 ␒ ^R Dispositivo de control 2
0001 0011 19 13 DC3 ␓ ^S Dispositivo de control 3 — oft. XOFF
0001 0100 20 14 DC4 ␔ ^T Dispositivo de control 4
0001 0101 21 15 NAK ␕ ^U Confirmación negativa
0001 0110 22 16 SYN ␖ ^V Síncrono en espera
0001 0111 23 17 ETB ␗ ^W Fin de Transmisión del Bloque
0001 1000 24 18 CAN ␘ ^X Cancelar
0001 1001 25 19 EM ␙ ^Y Finalización del Medio
0001 1010 26 1A SUB ␚ ^Z Substituto
0001 1011 27 1B ESC ␛ ^[ or ESC Escape
0001 1100 28 1C FS ␜ ^ Separador de fichero
0001 1101 29 1D GS ␝ ^] Separador de grupo
0001 1110 30 1E RS ␞ ^^ Separador de registro
0001 1111 31 1F US ␟ ^_ Separador de unidad
0111 1111 127 7F DEL ␡ ^?, Eliminar
Caracteres imprimibles ASCII
El carácter 'espacio', designa al espacio entre palabras, y se produce normalmente por
la barra espaciadora de un teclado. Los códigos del 33 al 126 se conocen como
caracteres imprimibles, y representan letras, dígitos, signos de puntuación y varios
símbolos. El ASCII de siete bits proporciona siete caracteres "nacionales" y, si la
combinación concreta de hardware y software lo permite, puede utilizar
combinaciones de teclas para simular otros caracteres internacionales: en estos casos
un backspace puede preceder a un acento abierto o grave (en los estándares británico
y estadounidense, pero sólo en estos estándares, se llama también "opening single
quotation mark"), una tilde o una "marca de respiración".
Binario Dec Hex Representación
0010 0000 32 20 espacio ( )
0010 0001 33 21 !
0010 0010 34 22 "
0010 0011 35 23 #
0010 0100 36 24 $
0010 0101 37 25 %
0010 0110 38 26 &
0010 0111 39 27 '
0010 1000 40 28 (
0010 1001 41 29 )
0010 1010 42 2A *
0010 1011 43 2B +
0010 1100 44 2C ,
0010 1101 45 2D -
0010 1110 46 2E .
0010 1111 47 2F /
0011 0000 48 30 0
0011 0001 49 31 1
0011 0010 50 32 2
0011 0011 51 33 3
0011 0100 52 34 4
Conversiones entre valores ASCII, decimales, hexadecimales, octales y binarios
ASCII Decimal Hexadecimal Octal Binario
nulo 0 0 0 0
inicio de cabecera 1 1 1 1
inicio de texto 2 2 2 10
final de texto 3 3 3 11
final de transmisión 4 4 4 100
consulta 5 5 5 101
reconocimiento 6 6 6 110
avisador 7 7 7 111
retroceso 8 8 10 1000
tabulador horizontal 9 9 11 1001
avance de línea 10 A 12 1010
tabulador vertical 11 B 13 1011
avance de página 12 C 14 1100
retorno de carro 13 D 15 1101
desplazamiento a
teclado ideográfico
14 E 16 1110
desplazamiento a
teclado estándar
15 F 17 1111
escape de enlace de
datos
16 10 20 10000
control de
dispositivos 1/Xon
17 11 21 10001
control de
dispositivos 2
18 12 22 10010
control de
dispositivos 3/Xoff
19 13 23 10011
control de
dispositivos 4
20 14 24 10100
reconocimiento
negativo
21 15 25 10101
desocupado
síncrono
22 16 26 10110
final de bloque de
transmisión
23 17 27 10111
cancelar 24 18 30 11000
final del soporte de
almacenamiento
25 19 31 11001
5.) Código de paridad par e impar:
Paridad: es un dígito binario que indica si el número de bits con un valor de 1 en un
conjunto de bits es par 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.
Característica: Tenemos el carácter original 0111001. Vemos que la trama a transmitir
tiene un número par de unos (4 unos). 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, añadiremos 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 el 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. En la comprobación, al
contar el número de unos salen 3 (impar), por lo que se ha producido un error.
 Paridad impar: se recibe 10110001 en vez de 10111001. En la comprobación, al
contar el número de unos salen 4 (par), por lo que se ha producido un error.
Siguiendo los ejemplos anteriores, y alterando dos bits en la transmisión, veremos
como el método de detección de errores falla:
 Paridad par: se recibe 00110101 en vez de 00111001. Al comprobar el número
de unos salen 4 (par), y no se detectan los errores.
 Paridad impar: se recibe 10110101 en vez de 10111001. Al comprobar el
número de unos salen 5 (impar), y no se detectan los errores.
7 bits de datos byte con bit de paridad
par impar
0000000 00000000 00000001
1010001 10100011 10100010
1101001 11010010 11010011
1111111 11111111 11111110
Los códigos de paridad se usan: en telecomunicaciones para detectar, y en algunos
casos corregir, errores en la transmisión. Para ellos se añade en origen un bit extra
llamado bit de paridad a los n bits que forman el carácter original.
Este valor del bit de paridad se determina de forma que el número total de bits 1 a
transmitir sea par (código de paridad par) o impar (código de paridad impar).
Así, para el código de paridad par el número de unos contando el carácter original y el
bit de paridad tiene que ser par. Por lo tanto, el bit de paridad será un 0 si el número
total de unos a transmitir es par y un 1 para un número impar de unos.
Por el contrario, para el código de paridad impar el número de unos contando el
carácter original y el bit de paridad ha de ser impar. De esta forma, el bit de paridad
será un 0 si el número total de unos es impar y un 1 para un número par de unos.
Normalmente el bit de paridad se añade a la izquierda del carácter original.
Este método, aunque resulta satisfactorio en general, puede detectar sólo un número
impar de errores de transmisión. Es decir, 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.

Más contenido relacionado

La actualidad más candente (20)

Reed Solomon
Reed SolomonReed Solomon
Reed Solomon
 
Tcm
TcmTcm
Tcm
 
Métodos de detección y corrección de errores
Métodos de detección y corrección de erroresMétodos de detección y corrección de errores
Métodos de detección y corrección de errores
 
El código gray
El código grayEl código gray
El código gray
 
Codificación Convolucional, Decodificador de Viterbi y Turbo Código
Codificación Convolucional, Decodificador de Viterbi y Turbo CódigoCodificación Convolucional, Decodificador de Viterbi y Turbo Código
Codificación Convolucional, Decodificador de Viterbi y Turbo Código
 
Codigo Hamming
Codigo HammingCodigo Hamming
Codigo Hamming
 
Hamming y CRC
Hamming y CRCHamming y CRC
Hamming y CRC
 
Codigo de transmision
Codigo de transmisionCodigo de transmision
Codigo de transmision
 
Codigos binarios
Codigos binariosCodigos binarios
Codigos binarios
 
Codigo-de-gray
Codigo-de-grayCodigo-de-gray
Codigo-de-gray
 
Sistemas de numeración
Sistemas  de  numeraciónSistemas  de  numeración
Sistemas de numeración
 
Teoría de códigos
Teoría de códigosTeoría de códigos
Teoría de códigos
 
Codificación y sus tecnicas
Codificación y sus tecnicasCodificación y sus tecnicas
Codificación y sus tecnicas
 
Codigo Binario
Codigo BinarioCodigo Binario
Codigo Binario
 
Investigación técnicas de codificación
Investigación técnicas de codificaciónInvestigación técnicas de codificación
Investigación técnicas de codificación
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++
 
Tipo de datos_c_
Tipo de datos_c_Tipo de datos_c_
Tipo de datos_c_
 
Circuitos digitales
Circuitos digitalesCircuitos digitales
Circuitos digitales
 
74 ls148
74 ls14874 ls148
74 ls148
 
Códigos de errores - Telecomunicaciones III
Códigos de errores - Telecomunicaciones IIICódigos de errores - Telecomunicaciones III
Códigos de errores - Telecomunicaciones III
 

Similar a Códigos BCD, Gray y Hamming

Similar a Códigos BCD, Gray y Hamming (20)

Código binario
Código binarioCódigo binario
Código binario
 
Codigos digitales
Codigos digitalesCodigos digitales
Codigos digitales
 
Ingeneria De Software
Ingeneria De SoftwareIngeneria De Software
Ingeneria De Software
 
Códigos
CódigosCódigos
Códigos
 
Códigos lineales
Códigos linealesCódigos lineales
Códigos lineales
 
Curso básico de ensamblador
Curso básico de ensambladorCurso básico de ensamblador
Curso básico de ensamblador
 
Curso básico de Ensamblador
Curso básico de EnsambladorCurso básico de Ensamblador
Curso básico de Ensamblador
 
Curso básico de ensamblador
Curso básico de ensambladorCurso básico de ensamblador
Curso básico de ensamblador
 
Digitalización – código binario
Digitalización – código binarioDigitalización – código binario
Digitalización – código binario
 
9. Electrónica Digital PDF
9. Electrónica Digital PDF9. Electrónica Digital PDF
9. Electrónica Digital PDF
 
Deteccion Y Control De
Deteccion Y Control DeDeteccion Y Control De
Deteccion Y Control De
 
Curso basico de emsamblador
Curso basico de emsambladorCurso basico de emsamblador
Curso basico de emsamblador
 
Código decimal JORGE
Código decimal JORGECódigo decimal JORGE
Código decimal JORGE
 
UNIDAD I
UNIDAD IUNIDAD I
UNIDAD I
 
Codigos de linea 171121 (1).pptx
Codigos de linea 171121 (1).pptxCodigos de linea 171121 (1).pptx
Codigos de linea 171121 (1).pptx
 
Sistemas digitales blog
Sistemas digitales blogSistemas digitales blog
Sistemas digitales blog
 
El sistema binario
El sistema binarioEl sistema binario
El sistema binario
 
Comunicaciones
ComunicacionesComunicaciones
Comunicaciones
 
Trabajo informatica
Trabajo informaticaTrabajo informatica
Trabajo informatica
 
Tutorial De Comunicacion De Datos
Tutorial De Comunicacion De DatosTutorial De Comunicacion De Datos
Tutorial De Comunicacion De Datos
 

Más de 'Crlooz Márqez

Más de 'Crlooz Márqez (19)

Asignación 4 marian ovalles
Asignación 4   marian ovallesAsignación 4   marian ovalles
Asignación 4 marian ovalles
 
Comunicación corporativa Marian Ovalles
Comunicación corporativa   Marian Ovalles Comunicación corporativa   Marian Ovalles
Comunicación corporativa Marian Ovalles
 
RRPP - Marian Ovalles
RRPP - Marian OvallesRRPP - Marian Ovalles
RRPP - Marian Ovalles
 
Presentación - Marian Ovalles
Presentación - Marian OvallesPresentación - Marian Ovalles
Presentación - Marian Ovalles
 
Umberto eco kareleym pot
Umberto eco   kareleym potUmberto eco   kareleym pot
Umberto eco kareleym pot
 
Universidad fermín toro
Universidad fermín toroUniversidad fermín toro
Universidad fermín toro
 
Ensayo (El Software)
Ensayo (El Software)Ensayo (El Software)
Ensayo (El Software)
 
Bases para la planificación de proyectos
Bases para la planificación de proyectosBases para la planificación de proyectos
Bases para la planificación de proyectos
 
Pregunta 5
Pregunta 5Pregunta 5
Pregunta 5
 
Ejercicio2
Ejercicio2Ejercicio2
Ejercicio2
 
Ejercicio 1
Ejercicio 1Ejercicio 1
Ejercicio 1
 
Diagrama Nyquist
Diagrama NyquistDiagrama Nyquist
Diagrama Nyquist
 
Estándares de Sistema
Estándares de SistemaEstándares de Sistema
Estándares de Sistema
 
Higiene y Seguridad Industrial
Higiene y Seguridad IndustrialHigiene y Seguridad Industrial
Higiene y Seguridad Industrial
 
Higiene y Seguridad Industrial
Higiene y Seguridad IndustrialHigiene y Seguridad Industrial
Higiene y Seguridad Industrial
 
Antecedentes, evolución, ventajas y efectos negativos
Antecedentes, evolución, ventajas y efectos negativosAntecedentes, evolución, ventajas y efectos negativos
Antecedentes, evolución, ventajas y efectos negativos
 
Parte 2
Parte 2Parte 2
Parte 2
 
Parte 4
Parte 4Parte 4
Parte 4
 
Parte 1
Parte 1Parte 1
Parte 1
 

Último

NCh 170-2016_07.03.17.pdf tecnologia del hormigon
NCh 170-2016_07.03.17.pdf tecnologia del hormigonNCh 170-2016_07.03.17.pdf tecnologia del hormigon
NCh 170-2016_07.03.17.pdf tecnologia del hormigonalejandroperezguajar
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
problemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanica
problemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanicaproblemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanica
problemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanicaArturoDavilaObando
 
PARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidad
PARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidadPARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidad
PARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidadeumartinezvete
 
Reino Protista: su clasificación y características
Reino Protista: su clasificación y característicasReino Protista: su clasificación y características
Reino Protista: su clasificación y característicasmiguellopez895525
 
Mapa conceptual de la Cristalografía .pdf
Mapa conceptual de la Cristalografía .pdfMapa conceptual de la Cristalografía .pdf
Mapa conceptual de la Cristalografía .pdfHeidyYamileth
 
ANALISIS DIMENSIONAL Y MAGNITUDES CONCEPTO
ANALISIS DIMENSIONAL Y MAGNITUDES CONCEPTOANALISIS DIMENSIONAL Y MAGNITUDES CONCEPTO
ANALISIS DIMENSIONAL Y MAGNITUDES CONCEPTOClaudiaSantosVsquez
 
CEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptx
CEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptxCEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptx
CEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptxfranciscofernandez106395
 
PLAN DE TUTORÍA DEL AULA PARA SEGUNDO GRADO
PLAN DE TUTORÍA DEL AULA PARA  SEGUNDO GRADOPLAN DE TUTORÍA DEL AULA PARA  SEGUNDO GRADO
PLAN DE TUTORÍA DEL AULA PARA SEGUNDO GRADOunsaalfredo
 
calculo aplicado a la fisica 3 .pdf
calculo  aplicado  a  la  fisica  3 .pdfcalculo  aplicado  a  la  fisica  3 .pdf
calculo aplicado a la fisica 3 .pdfRolandPisfilLLuenGor
 
METODOS ANTICONCEPTIVOS UNIVERSIDAD SEÑOR DE SIPAN.pptx
METODOS ANTICONCEPTIVOS UNIVERSIDAD SEÑOR DE SIPAN.pptxMETODOS ANTICONCEPTIVOS UNIVERSIDAD SEÑOR DE SIPAN.pptx
METODOS ANTICONCEPTIVOS UNIVERSIDAD SEÑOR DE SIPAN.pptxlilianabarbozavasque
 
Miología del bovino veterinaria métodos rápidos
Miología del bovino veterinaria métodos rápidosMiología del bovino veterinaria métodos rápidos
Miología del bovino veterinaria métodos rápidosmarielbispurocoleo5
 
Aprendamos el proceso de regeneración.pptx
Aprendamos el proceso de regeneración.pptxAprendamos el proceso de regeneración.pptx
Aprendamos el proceso de regeneración.pptxJuanaMLpez
 
Zambrano, R. - Historia mínima de la música en Occidente [2013].pdf
Zambrano, R. - Historia mínima de la música en Occidente [2013].pdfZambrano, R. - Historia mínima de la música en Occidente [2013].pdf
Zambrano, R. - Historia mínima de la música en Occidente [2013].pdffrank0071
 
AA. VV. - Historia mínima del Confucianismo [2021].pdf
AA. VV. - Historia mínima del Confucianismo [2021].pdfAA. VV. - Historia mínima del Confucianismo [2021].pdf
AA. VV. - Historia mínima del Confucianismo [2021].pdffrank0071
 
LEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdf
LEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdfLEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdf
LEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdfrvillegasp16001
 
Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...
Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...
Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...Juan Carlos Fonseca Mata
 
TEJIDOS HISTOLÓGICOS osteona, canal de haves.pptx
TEJIDOS HISTOLÓGICOS osteona, canal de haves.pptxTEJIDOS HISTOLÓGICOS osteona, canal de haves.pptx
TEJIDOS HISTOLÓGICOS osteona, canal de haves.pptxmorajoe2109
 
Testimonio-de-segunda-revolucion-industrial.pdf
Testimonio-de-segunda-revolucion-industrial.pdfTestimonio-de-segunda-revolucion-industrial.pdf
Testimonio-de-segunda-revolucion-industrial.pdfd71229811u
 
Triptico-venus-docx.docxxxxxxxxxxxxxxxxx
Triptico-venus-docx.docxxxxxxxxxxxxxxxxxTriptico-venus-docx.docxxxxxxxxxxxxxxxxx
Triptico-venus-docx.docxxxxxxxxxxxxxxxxxalennyjuarez
 

Último (20)

NCh 170-2016_07.03.17.pdf tecnologia del hormigon
NCh 170-2016_07.03.17.pdf tecnologia del hormigonNCh 170-2016_07.03.17.pdf tecnologia del hormigon
NCh 170-2016_07.03.17.pdf tecnologia del hormigon
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
problemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanica
problemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanicaproblemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanica
problemas_oscilaciones_amortiguadas.pdf aplicadas a la mecanica
 
PARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidad
PARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidadPARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidad
PARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidad
 
Reino Protista: su clasificación y características
Reino Protista: su clasificación y característicasReino Protista: su clasificación y características
Reino Protista: su clasificación y características
 
Mapa conceptual de la Cristalografía .pdf
Mapa conceptual de la Cristalografía .pdfMapa conceptual de la Cristalografía .pdf
Mapa conceptual de la Cristalografía .pdf
 
ANALISIS DIMENSIONAL Y MAGNITUDES CONCEPTO
ANALISIS DIMENSIONAL Y MAGNITUDES CONCEPTOANALISIS DIMENSIONAL Y MAGNITUDES CONCEPTO
ANALISIS DIMENSIONAL Y MAGNITUDES CONCEPTO
 
CEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptx
CEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptxCEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptx
CEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptx
 
PLAN DE TUTORÍA DEL AULA PARA SEGUNDO GRADO
PLAN DE TUTORÍA DEL AULA PARA  SEGUNDO GRADOPLAN DE TUTORÍA DEL AULA PARA  SEGUNDO GRADO
PLAN DE TUTORÍA DEL AULA PARA SEGUNDO GRADO
 
calculo aplicado a la fisica 3 .pdf
calculo  aplicado  a  la  fisica  3 .pdfcalculo  aplicado  a  la  fisica  3 .pdf
calculo aplicado a la fisica 3 .pdf
 
METODOS ANTICONCEPTIVOS UNIVERSIDAD SEÑOR DE SIPAN.pptx
METODOS ANTICONCEPTIVOS UNIVERSIDAD SEÑOR DE SIPAN.pptxMETODOS ANTICONCEPTIVOS UNIVERSIDAD SEÑOR DE SIPAN.pptx
METODOS ANTICONCEPTIVOS UNIVERSIDAD SEÑOR DE SIPAN.pptx
 
Miología del bovino veterinaria métodos rápidos
Miología del bovino veterinaria métodos rápidosMiología del bovino veterinaria métodos rápidos
Miología del bovino veterinaria métodos rápidos
 
Aprendamos el proceso de regeneración.pptx
Aprendamos el proceso de regeneración.pptxAprendamos el proceso de regeneración.pptx
Aprendamos el proceso de regeneración.pptx
 
Zambrano, R. - Historia mínima de la música en Occidente [2013].pdf
Zambrano, R. - Historia mínima de la música en Occidente [2013].pdfZambrano, R. - Historia mínima de la música en Occidente [2013].pdf
Zambrano, R. - Historia mínima de la música en Occidente [2013].pdf
 
AA. VV. - Historia mínima del Confucianismo [2021].pdf
AA. VV. - Historia mínima del Confucianismo [2021].pdfAA. VV. - Historia mínima del Confucianismo [2021].pdf
AA. VV. - Historia mínima del Confucianismo [2021].pdf
 
LEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdf
LEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdfLEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdf
LEY FEDERAL DE TRABAJO IPN MEDICINA OCUPACIONAL.pdf
 
Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...
Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...
Documento Técnico Base del Inventario de Especies Vegetales Nativas del Estad...
 
TEJIDOS HISTOLÓGICOS osteona, canal de haves.pptx
TEJIDOS HISTOLÓGICOS osteona, canal de haves.pptxTEJIDOS HISTOLÓGICOS osteona, canal de haves.pptx
TEJIDOS HISTOLÓGICOS osteona, canal de haves.pptx
 
Testimonio-de-segunda-revolucion-industrial.pdf
Testimonio-de-segunda-revolucion-industrial.pdfTestimonio-de-segunda-revolucion-industrial.pdf
Testimonio-de-segunda-revolucion-industrial.pdf
 
Triptico-venus-docx.docxxxxxxxxxxxxxxxxx
Triptico-venus-docx.docxxxxxxxxxxxxxxxxxTriptico-venus-docx.docxxxxxxxxxxxxxxxxx
Triptico-venus-docx.docxxxxxxxxxxxxxxxxx
 

Códigos BCD, Gray y Hamming

  • 1. 1. Código BCD: Es la presentación de números, letras o palabras por medio de un grupo especial de símbolos, se dice que se encuentran codificados, y al grupo de símbolos se le llama código. En sistemas de computación, Binary-Coded Decimal (BCD) o Decimal codificado en binario es un estándar para representar números decimales en el sistema binario, en donde cada dígito decimal es codificado con una secuencia de 4 bits. Con esta codificación especial de los dígitos decimales en el sistema binario, se pueden realizar operaciones aritméticas como suma, resta, multiplicación y división de números en representación decimal, sin perder en los cálculos la precisión ni tener las inexactitudes en que normalmente se incurre con las conversiones de decimal a binario puro y de binario puro a decimal. La conversión de los números decimales a BCD y viceversa es muy sencilla, pero los cálculos en BCD se llevan más tiempo y son algo más complicados que con números binarios puros. Fundamento: En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar en BCD). Procedimiento de conversión a binario y de binario al código. De binario a BCD: Lamentablemente, de binario a BCD no podemos simplemente separar conjuntos de cuatro bits y esperar a que todo funcione. Para la conversión, se requiere el uso de un algoritmo denominado desplazar a la izquierda y sumar tres. Y lo que hace es, bueno, ¡desplazar y sumar tres! En resumen, el proceso es: 1. Desplazar el número binario hacia la izquierda un bit. 2. Si alguno de los dígitos tiene un valor igual o mayor a cinco, sumar tres. 3. Repetir los pasos 1 y 2 la cantidad de bits del número binario que se quiere convertir. En esta entrada se realiza el ejemplo del convertidor pensado para el metrónomo, la cantidad de BPM a visualizar va de 1 a 512. Lo que implica 3 dígitos en BCD. Y las direcciones de la ROM van de 0 a 511, cantidades que se representan en 9 bits. Por lo tanto, el componente a ser desarrollado es un convertidor de 9 bits en binario a tres dígitos en BCD. En la tabla 2 se muestra la estructura básica de cómo se alineará fn los datos para la conversión: centenas, decenas, unidades, y el número binario inicial.
  • 2. BCD Binario Centenas (4 bits) Decenas (4 bits) Unidades (4 bits) Número binario (9 dígitos) 2. Código Gray: El código binario reflejado o código Gray, nombrado así en honor del investigador Frank Gray, es un sistema de numeración binario en el que dos valores sucesivos difieren solamente en uno de sus dígitos. El código Gray fue diseñado originalmente para prevenir señales ilegales (señales falsas o viciadas en la representación) de los switches electromecánicos, y actualmente es usado para facilitar la corrección de errores en los sistemas de comunicaciones, tales como algunos sistemas de televisión por cable y la televisión digital terrestre. Este código pertenece a una clase d códigos llamada código de cambio mínimo, en los cuales solo un bit del grupo d código cambia cuando pasa d una etapa a la siguiente. El código Gray es un código de sin valor, es decir, las posiciones de los bits en los grupos de código no tienen valor específicos. Debido a esto el código no se ajusta a las operaciones aritméticas sino que haya aplicación en dispositivos de entrada y salida y algunos tipos de convertidores de analógico a digital. Historia y aplicaciones prácticas: El código binario reflejado fue aplicado para acertijos matemáticos antes de ser usado para la ingeniería. El ingeniero francés Émile Baudot le dio una aplicación al código de Gray en 1878 en telegrafía, trabajo por el cual fue condecorado con la Legión de Honor. El código Gray es atribuido en algunas ocasiones, en forma incorrecta, a Elisha Gray (en Principles of Pulse Code Modulation, K. W. Cattermole, por ejemplo.) 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 persisten 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.
  • 3. 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. Otra aplicación del código Gray s da cuando datos analógicos se representan mediante un cambio continuo en la posición de un eje o fecha. El eje se divide en segmentos, y se asigna un número a cada segmento. Si hacemos que segmentos adyacentes correspondan a la sucesión del código Gray, se elimina la ambigüedad cuando la detección se efectúa en la línea que separa dos segmentos cualesquiera. Conversiones: Binario a Gray: Para pasar un número binario al código binario Gray, hay una regla fácil de implementar en un lenguaje de programación: Un número en binario siempre empieza en 1 --Los ceros a la izquierda no cuentan--; Pues en Gray también. Ej: 1000011110000 en binario se escribe 1xxxxXXXXxxxx. Ahora nos fijamos en el segundo dígito. Si es igual al dígito anterior se pone un 0 (no cambia); Si es diferente --como es el caso, pues el dígito anterior era un 1 y el que observamos un 0-- se pondrá un 1 (cambia). Ej: El número del ejemplo anterior será: 11xxxXXXXxxxx. En los casos sucesivos se repite el paso anterior, observando en el número binario 'natural' el dígito anterior al que se evalúa. Ej: El número del ejemplo anterior, pasado a código Gray será: 1100010001000. Secuencia Binario Gray Secuencia Binario Gray 0 0000 0000 8 1000 1100 1 0001 0001 9 1001 1101 2 0010 0011 10 1010 1111 3 0011 0010 11 1011 1110 4 0100 0110 12 1100 1010 5 0101 0111 13 1101 1011 6 0110 0101 14 1110 1001 7 0111 0100 15 1111 1000 Gray a Binario: Hacer el cambio contrario es simplemente invertir lo que hace el anterior, de forma que si se encuentra un cero (siempre que no sea al principio) se debe poner la cifra anterior; En cambio si pone un 1 es porque la cifra ha cambiado así que si había un 0 ahora se pone un 1 y viceversa.
  • 4. 3. Código Hamming: es un código detector y corrector de errores que lleva el nombre de su inventor, Richard Hamming. En los datos codificados en Hamming se pueden detectar errores en un bit y corregirlos, sin embargo no se distingue entre errores de dos bits y de un bit (para lo que se usa Hamming extendido). Esto representa una mejora respecto a los códigos con bit de paridad, que pueden detectar errores en sólo un bit, pero no pueden corregirlo. 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: La 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. La distancia es una característica que, además, sólo se aplica a las combinaciones binarias. En resumen, la distancia entre dos combinaciones es el número de bits que cambian de una a otra. Continuidad: La continuidad es una característica de los códigos binarios que cumplen todas las posibles combinaciones del código que son adyacentes, es decir, que de cualquier combinación del código a la siguiente cambia un sólo bit. En este caso se dice que el código es continuo. Cuando la última combinación del código es, a su vez, adyacente a la primera, se trata de un código cíclico. Aplicaciones: Electrónica: El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico, especialmente en los sistemas digitales no programados (sin microprocesador o microcontrolador). Es Utilizando el código BCD, se simplifica la manipulación de los datos numéricos que deben ser mostrados por ejemplo en un visualizador de siete segmentos. Esto lleva a su vez una simplificación en el diseño físico del circuito (hardware). Si la cantidad numérica fuera almacenada y manipulada en binario natural, el circuito sería mucho más complejo que si se utiliza el BCD. Hay un programa que se llama
  • 5. b1411 que sirve para dividir al sistema binario en dos combinaciones. Una por ejemplo es la de sistemas digitales. Código Hamming: Es un código que se utiliza en la detección y corrección de errores que se producen en la transmisión de códigos binarios, la palabra de código se conforma por los bits de comprobación y los bits de información. Fundamentos: el código Hamming plantea ingresar a la tabla un número adicional con el propósito de encontrar más de un bit dañado, esto lo logra mediante el desarrollo de matrices estas matrices se computan para poder detectar y corregir un bit dañado e informar cuando hay dos o más bit dañados en el proceso. El proceso matricial es como lo desarrollaría realmente un sistema de cómputo. Características: Para la generación del código Hamming se deben tener en cuenta tres características variables que mencionaremos a continuación: N: número de bits del código original que se pretende transmitir. P: número de bits de paridad par generados en el transmisor, o sea, número de líneas que añadimos al código inicial. C: número de bits detectores de paridad par generados por el receptor. El valor de p = c, ya que los bits de paridad generados tanto en el transmisor como en el receptor debe ser la misma. El número de combinaciones que se pueden formar con los c bits detectores de paridad tiene que ser mayor o igual que el número de líneas del código original (n) más el número de líneas de paridad añadidas (p) más uno, este último para con templar el caso de no error. Aplicaciones y uso: Código Hamming sirve para detectar errores en una secuencia de bits por medio de un control de paridad. Para esto se añade un bit de control a la secuencia original que indique si la suma de los bits es par o impar, con el ejemplo se puede entender más fácilmente 4. Código ASCII: El código ASCII (siglas en ingles para American Standard Code for Information Interchange, es decir Código Americano ( Je! lease estadounidense... ) Estándar para el intercambio de Información) (se pronuncia Aski). Fue creado en 1963 por el Comité Estadounidense de Estándares o "ASA", este organismo cambio su nombre en 1969 por "Instituto Estadounidense de Estándares Nacionales" o "ANSI" como se lo conoce desde entonces.
  • 6. 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. 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. Código Ascii: Es un código de caracteres basado en el alfabeto 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. El código ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la transmisión. A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits, como el estándar ISO-8859-1, que es una extensión que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos al inglés, como el español. ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por última vez en 1986. En la actualidad define códigos para 32 caracteres no imprimibles, de los cuales la mayoría son caracteres de control que tienen efecto sobre cómo se procesa el texto, más otros 95 caracteres imprimibles que les siguen en la numeración (empezando por el carácter espacio).
  • 7. Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto como el teclado. No deben confundirse los códigos ALT+número de teclado con los códigos ASCII. 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 tipiar: 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! (320) . Los caracteres de control ASCII: El código ASCII reserva los primeros 32 códigos (numerados del 0 al 31 en decimal) para caracteres de control: códigos no pensados originalmente para representar información imprimible, sino para controlar dispositivos (como impresoras) que usaban ASCII. Por ejemplo, el carácter 10 representa la función "nueva línea" (line feed), que hace que una impresora avance el papel, y el carácter 27 representa la tecla "escape" que a menudo se encuentra en la esquina superior izquierda de los teclados comunes. El código 127 (los siete bits a uno), otro carácter especial, equivale a "suprimir" ("delete"). Aunque esta función se asemeja a otros caracteres de control, los diseñadores de ASCII idearon este código para poder "borrar" una sección de papel perforado (un medio de almacenamiento popular hasta la década de 1980) mediante la perforación de todos los agujeros posibles de una posición de carácter concreta, reemplazando cualquier información previa. Dado que el código 0 era ignorado, fue posible dejar huecos (regiones de agujeros) y más tarde hacer correcciones. Muchos de los caracteres de control ASCII servían para marcar paquetes de datos, o para controlar protocolos de transmisión de datos (por ejemplo ENQuiry, con el significado: ¿hay alguna estación por ahí?, ACKnowledge: recibido o ", Start Of Header: inicio de cabecera, Start of TeXt: inicio de texto, End of TeXt: final de texto, etc.). ESCape y
  • 8. SUBstitute permitían a un protocolo de comunicaciones, por ejemplo, marcar datos binarios para que contuviesen códigos con el mismo código que el carácter de protocolo, y que el receptor pudiese interpretarlos como datos en lugar de como caracteres propios del protocolo. Los diseñadores del código ASCII idearon los caracteres de separación para su uso en sistemas de cintas magnéticas. Dos de los caracteres de control de dispositivos, comúnmente llamados XON y XOFFgeneralmente ejercían funciones de caracteres de control de flujo para controlar el flujo hacia un dispositivo lento (como una impresora) desde un dispositivo rápido (como una computadora), de forma que los datos no saturasen la capacidad de recepción del dispositivo lento y se perdiesen. Los primeros usuarios de ASCII adoptaron algunos de los códigos de control para representar "metainformación" como final-de-línea, principio/final de un elemento de datos, etc. Estas asignaciones a menudo entraban en conflicto, así que parte del esfuerzo de convertir datos de un formato a otro comporta hacer las conversiones correctas de metainformación. Por ejemplo, el carácter que representa el final-de-línea en ficheros de texto varía con el sistema operativo. Cuando se copian archivos de un sistema a otro, el sistema de conversión debe reconocer estos caracteres como marcas de final-de-línea y actuar en consecuencia. Actualmente los usuarios de ASCII usan menos los caracteres de control, (con algunas excepciones como "retorno de carro" o "nueva línea"). Los lenguajes modernos de etiquetas, los protocolos modernos de comunicación, el paso de dispositivos basados en texto a basados en gráficos, el declive de las teleimpresoras, las tarjetas perforadas y los papeles continuos han dejado obsoleta la mayoría de caracteres de control. Binario Decimal Hex Abreviatura Repr AT Nombre/Significado 0000 0000 0 00 NUL ␀ ^@ Carácter Nulo 0000 0001 1 01 SOH ␁ ^A Inicio de Encabezado 0000 0010 2 02 STX ␂ ^B Inicio de Texto 0000 0011 3 03 ETX ␃ ^C Fin de Texto 0000 0100 4 04 EOT ␄ ^D Fin de Transmisión 0000 0101 5 05 ENQ ␅ ^E Consulta 0000 0110 6 06 ACK ␆ ^F Acuse de recibo 0000 0111 7 07 BEL ␇ ^G Timbre 0000 1000 8 08 BS ␈ ^H Retroceso 0000 1001 9 09 HT ␉ ^I Tabulación horizontal
  • 9. 0000 1010 10 0A LF ␊ ^J Salto de línea 0000 1011 11 0B VT ␋ ^K Tabulación Vertical 0000 1100 12 0C FF ␌ ^L De avance 0000 1101 13 0D CR ␍ ^M Retorno de carro 0000 1110 14 0E SO ␎ ^N Mayúsculas fuera 0000 1111 15 0F SI ␏ ^O En mayúsculas 0001 0000 16 10 DLE ␐ ^P Enlace de datos / Escape 0001 0001 17 11 DC1 ␑ ^Q Dispositivo de control 1 — oft. XON 0001 0010 18 12 DC2 ␒ ^R Dispositivo de control 2 0001 0011 19 13 DC3 ␓ ^S Dispositivo de control 3 — oft. XOFF 0001 0100 20 14 DC4 ␔ ^T Dispositivo de control 4 0001 0101 21 15 NAK ␕ ^U Confirmación negativa 0001 0110 22 16 SYN ␖ ^V Síncrono en espera 0001 0111 23 17 ETB ␗ ^W Fin de Transmisión del Bloque 0001 1000 24 18 CAN ␘ ^X Cancelar 0001 1001 25 19 EM ␙ ^Y Finalización del Medio 0001 1010 26 1A SUB ␚ ^Z Substituto 0001 1011 27 1B ESC ␛ ^[ or ESC Escape 0001 1100 28 1C FS ␜ ^ Separador de fichero 0001 1101 29 1D GS ␝ ^] Separador de grupo 0001 1110 30 1E RS ␞ ^^ Separador de registro 0001 1111 31 1F US ␟ ^_ Separador de unidad 0111 1111 127 7F DEL ␡ ^?, Eliminar
  • 10. Caracteres imprimibles ASCII El carácter 'espacio', designa al espacio entre palabras, y se produce normalmente por la barra espaciadora de un teclado. Los códigos del 33 al 126 se conocen como caracteres imprimibles, y representan letras, dígitos, signos de puntuación y varios símbolos. El ASCII de siete bits proporciona siete caracteres "nacionales" y, si la combinación concreta de hardware y software lo permite, puede utilizar combinaciones de teclas para simular otros caracteres internacionales: en estos casos un backspace puede preceder a un acento abierto o grave (en los estándares británico y estadounidense, pero sólo en estos estándares, se llama también "opening single quotation mark"), una tilde o una "marca de respiración". Binario Dec Hex Representación 0010 0000 32 20 espacio ( ) 0010 0001 33 21 ! 0010 0010 34 22 " 0010 0011 35 23 # 0010 0100 36 24 $ 0010 0101 37 25 % 0010 0110 38 26 & 0010 0111 39 27 ' 0010 1000 40 28 ( 0010 1001 41 29 ) 0010 1010 42 2A * 0010 1011 43 2B + 0010 1100 44 2C , 0010 1101 45 2D - 0010 1110 46 2E . 0010 1111 47 2F / 0011 0000 48 30 0 0011 0001 49 31 1 0011 0010 50 32 2 0011 0011 51 33 3 0011 0100 52 34 4
  • 11. Conversiones entre valores ASCII, decimales, hexadecimales, octales y binarios ASCII Decimal Hexadecimal Octal Binario nulo 0 0 0 0 inicio de cabecera 1 1 1 1 inicio de texto 2 2 2 10 final de texto 3 3 3 11 final de transmisión 4 4 4 100 consulta 5 5 5 101 reconocimiento 6 6 6 110 avisador 7 7 7 111 retroceso 8 8 10 1000 tabulador horizontal 9 9 11 1001 avance de línea 10 A 12 1010 tabulador vertical 11 B 13 1011 avance de página 12 C 14 1100 retorno de carro 13 D 15 1101 desplazamiento a teclado ideográfico 14 E 16 1110 desplazamiento a teclado estándar 15 F 17 1111 escape de enlace de datos 16 10 20 10000 control de dispositivos 1/Xon 17 11 21 10001 control de dispositivos 2 18 12 22 10010 control de dispositivos 3/Xoff 19 13 23 10011 control de dispositivos 4 20 14 24 10100 reconocimiento negativo 21 15 25 10101 desocupado síncrono 22 16 26 10110 final de bloque de transmisión 23 17 27 10111 cancelar 24 18 30 11000 final del soporte de almacenamiento 25 19 31 11001 5.) Código de paridad par e impar: Paridad: es un dígito binario que indica si el número de bits con un valor de 1 en un conjunto de bits es par 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.
  • 12. 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. Característica: Tenemos el carácter original 0111001. Vemos que la trama a transmitir tiene un número par de unos (4 unos). 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, añadiremos 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 el 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. En la comprobación, al contar el número de unos salen 3 (impar), por lo que se ha producido un error.  Paridad impar: se recibe 10110001 en vez de 10111001. En la comprobación, al contar el número de unos salen 4 (par), por lo que se ha producido un error. Siguiendo los ejemplos anteriores, y alterando dos bits en la transmisión, veremos como el método de detección de errores falla:  Paridad par: se recibe 00110101 en vez de 00111001. Al comprobar el número de unos salen 4 (par), y no se detectan los errores.  Paridad impar: se recibe 10110101 en vez de 10111001. Al comprobar el número de unos salen 5 (impar), y no se detectan los errores. 7 bits de datos byte con bit de paridad par impar 0000000 00000000 00000001 1010001 10100011 10100010 1101001 11010010 11010011 1111111 11111111 11111110
  • 13. Los códigos de paridad se usan: en telecomunicaciones para detectar, y en algunos casos corregir, errores en la transmisión. Para ellos se añade en origen un bit extra llamado bit de paridad a los n bits que forman el carácter original. Este valor del bit de paridad se determina de forma que el número total de bits 1 a transmitir sea par (código de paridad par) o impar (código de paridad impar). Así, para el código de paridad par el número de unos contando el carácter original y el bit de paridad tiene que ser par. Por lo tanto, el bit de paridad será un 0 si el número total de unos a transmitir es par y un 1 para un número impar de unos. Por el contrario, para el código de paridad impar el número de unos contando el carácter original y el bit de paridad ha de ser impar. De esta forma, el bit de paridad será un 0 si el número total de unos es impar y un 1 para un número par de unos. Normalmente el bit de paridad se añade a la izquierda del carácter original. Este método, aunque resulta satisfactorio en general, puede detectar sólo un número impar de errores de transmisión. Es decir, 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.