julio hernandez parte 3

Upload: luisfer-delgado

Post on 06-Mar-2016

15 views

Category:

Documents


0 download

DESCRIPTION

c

TRANSCRIPT

Julio parte 4

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

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

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

DecimalNaturalAiken5 4 2 1Exceso 3

00000000000000011

10001000100010100

20010001000100101

30011001100110110

40100010001000111

50101101110001000

60110110010011001

70111110110101010

81000111010111011

91001111111001100

Como se observa, con el BCD slo se utilizan 10 de las 16 posibles combinaciones que se pueden formar con nmeros de 4bits, por lo que el sistema pierde capacidad de representacin, aunque se facilita la compresin de los nmeros. Esto es porque el BCD slo se usa para representarcifras, no nmeros en su totalidad. Esto quiere decir quepara nmeros de ms de una cifra hacen falta dos nmeros BCD.

AplicacionMuchas de las aplicaciones de lascomputadorasdgitales requieren la manipulacin de datos que constan no slo de nmeros, sino tambin de letras. Para representar cadenas de caracteres alfabticos ers necesario tener un cdigo binario para el alfabeto. Adems el mismo cdigo binario debe representar nmeros y algunos otros caracteres especiales.

Codigo Gray Elcdigo binario reflejadoocdigo Gray, nombrado as en honor del investigadorFrank Gray, es unsistema de numeracin binarioen el que dos valores sucesivos difieren solamente en uno de susdgitos.El cdigo Gray fue diseado originalmente para prevenir seales ilegales (seales falsas o viciadas en la representacin) de losswitcheselectromecnicos, y actualmente es usado para facilitar lacorreccin de erroresen los sistemas de comunicaciones, tales como algunos sistemas detelevisin por cabley latelevisin digital terrestre.

Conversiones

SecuenciaBinarioGraySecuenciaBinarioGray

000000000810001100

100010001910011101

2001000111010101111

3001100101110111110

4010001101211001010

5010101111311011011

6011001011411101001

7011101001511111000

Base 2a GrayPara convertir un nmero binario (enBase 2) a cdigo Gray, simplemente se le aplica una operacinXORcon el mismo nmero desplazado un bit a la derecha, sin tener en cuenta el acarreo.Ejemplo: 1010 (Base 2) a gray1010 1010----1111Otros ejemplos 0111(Base 2) a gray:0111 0111------0100110101010001 110101010001------------101111111001

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

Hamming (7,4)El cdigo de Hamming agrega tres bits adicionales de comprobacin por cada cuatro bits de datos del mensaje.El algoritmo de Hamming (7.4) puede corregir cualquier error de un solo bit, pero cuando hay errores en ms de un bit, la palabra transmitida se confunde con otra con error en un slo bit, siendo corregida, pero de forma incorrecta, es decir que la palabra que se corrige es otra distinta a la original, y el mensaje final ser incorrecto sin saberlo.

AlgoritmoEl algoritmo es el siguiente:1. Todos los bits cuya posicin es potencia de dos se utilizan como bits de paridad (posiciones 1, 2, 4, 8, 16, 32, 64, etc.). 2. Los bits del resto de posiciones son utilizados como bits de datos (posiciones 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.). 3. Cada bit de paridad se obtiene calculando la paridad de alguno de los bits de datos. La posicin del bit de paridad determina la secuencia de los bits que alternativamente comprueba y salta, a partir de ste, tal y como se explica a continuacin. Posicin 1: salta 0, comprueba 1, salta 1, comprueba 1, etc.Posicin 2: salta 1, comprueba 2, salta 2, comprueba 2, etc.Posicin 4: salta 3, comprueba 4, salta 4, comprueba 4, etc.Posicin 8: salta 7, comprueba 8, salta 8, comprueba 8, etc.Posicin 16: salta 15, comprueba 16, salta 16, comprueba 16, etc.Regla general para la posicin n es: salta n-1 bits, comprueba n bits, salta n bits, comprueba n bits...

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

La nueva palabra de datos (con los bits de paridad) es ahora "10001100101". Consideremos ahora que el bit de la derecha, por error, cambia de 1 a 0. La nueva palabra de datos ser ahora "10001100100".

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

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

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

00000000000NUL^@Carcter Nulo

00000001101SOH^AInicio de Encabezado

00000010202STX^BInicio de Texto

00000011303ETX^CFin de Texto

00000100404EOT^DFin de Transmisin

00000101505ENQ^EConsulta

00000110606ACK^FAcuse de recibo

00000111707BEL^GTimbre

00001000808BS^HRetroceso

00001001909HT^ITabulacin horizontal

00001010100ALF^JSalto de lnea

00001011110BVT^KTabulacin Vertical

00001100120CFF^LDe avance

00001101130DCR^MRetorno de carro

00001110140ESO^NMaysculas fuera

00001111150FSI^OEn maysculas

000100001610DLE^PEnlace de datos / Escape

000100011711DC1^QDispositivo de control 1 oft. XON

000100101812DC2^RDispositivo de control 2

000100111913DC3^SDispositivo de control 3 oft. XOFF

000101002014DC4^TDispositivo de control 4

000101012115NAK^UConfirmacin negativa

000101102216SYN^VSncrono en espera

000101112317ETB^WFin de Transmisin del Bloque

000110002418CAN^XCancelar

000110012519EM^YFinalizacin del Medio

00011010261ASUB^ZSubstituto

00011011271BESC^[ or ESCEscape

00011100281CFS^\Separador de fichero

00011101291DGS^]Separador de grupo

00011110301ERS^^Separador de registro

00011111311FUS^_Separador de unidad

011111111277FDEL^?,DeleteoBackspaceEliminar

Rasgos estructurales Los dgitos del 0 al 9 se representan con sus valores prefijados con el valor 0011 en binario (esto significa que la conversinBCD-ASCII es una simple cuestin de tomar cada unidad bcd y prefijarla con 0011). Las cadenas de bits de las letras minsculas y maysculas slo difieren en un bit, simplificando de esta forma la conversin de uno a otro grupo.

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

Tenemos el carcter original 0111001. Vemos que la trama a transmitir tiene un nmero par de unos (4 unos). Al aadir el bit de paridad obtendremos el siguiente carcter, que es el que se transmitir a destino: Si usamos paridad par, ya hay un nmero par de unos, por tanto se aade un 0, y transmitiremos00111001. Si usamos paridad impar, como hay un nmero par de unos, aadiremos otro 1 para conseguir un nmero impar, y transmitiremos10111001.Si se enva un dato y durante la transmisin se produce un nico error, el destinatario puede detectarlo al comprobar la paridad en el destino. Usando los ejemplos anteriores, y alterando un solo bit de la trama transmitida, nos quedara. Paridad par: se recibe 00110001 en vez de 00111001. En la comprobacin, al contar el nmero de unos salen 3 (impar), por lo que se ha producido un error. Paridad impar: se recibe 10110001 en vez de 10111001. En la comprobacin, al contar el nmero de unos salen 4 (par), por lo que se ha producido un error.Siguiendo los ejemplos anteriores, y alterando dos bits en la transmisin, veremos como el mtodo de deteccin de errores falla: Paridad par: se recibe 00110101 en vez de 00111001. Al comprobar el nmero de unos salen 4 (par), y no se detectan los errores. Paridad impar: se recibe 10110101 en vez de 10111001. Al comprobar el nmero de unos salen 5 (impar), y no se detectan los errores.

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

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

Ejemplos: Tenemos el carcter original 0111001. Vemos que la trama a transmitir tiene un nmero par de unos (4). Al aadir el bit de paridad obtendremos el siguiente carcter, que es el que se transmitir a destino:

* Si usamos paridad par, ya hay un nmero par de unos, por tanto se aade un 0, y transmitiremos 00111001* Si usamos paridad impar, como hay un nmero par de unos, hemos de aadir otro 1 para conseguir un nmero impar, y transmitiremos 10111001

Si se enva un dato y durante la transmisin se produce un nico error, el destinatario puede detectarlo al comprobar la paridad en destino. Usando los ejemplos anteriores, y alterando un solo bit de la trama transmitida, nos quedara.

* Paridad par: se recibe 00110001 en vez de 00111001. Al comprobar el nmero de unos nos salen 3 (impar), luego se ha producido un error.* Paridad impar, se recibe 10110001 en vez de 10111001. Al comprobar el nmero de unos nos salen 4 (par), luego se ha producido un error.

Este mtodo, aunque resulta satisfactorio en general, slo es til si los errores no cambian un nmero par de bits a la vez, ya que un nmero par de errores no afecta a la paridad final de los datos.

Referencias bibliogrficas

https://es.wikipedia.org/wiki/Bit_de_paridadhttps://es.wikipedia.org/wiki/ASCIIhttp://es.slideshare.net/sergioruiz1/codigo-hamminghttps://es.wikipedia.org/wiki/C%C3%B3digo_Hamminghttps://es.wikipedia.org/wiki/C%C3%B3digo_Grayhttps://es.wikipedia.org/wiki/Decimal_codificado_en_binario