• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Capitulo I  Sistemas Númericos
 

Capitulo I Sistemas Númericos

on

  • 496 views

Descripción de los Sistemas Numéricos

Descripción de los Sistemas Numéricos

Statistics

Views

Total Views
496
Views on SlideShare
496
Embed Views
0

Actions

Likes
0
Downloads
13
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Capitulo I  Sistemas Númericos Capitulo I Sistemas Númericos Presentation Transcript

    • SISTEMAS NUMERICOS Y CÓDIGOS 2010Sistemas Digitales 1
    • SISTEMAS NUMERICOSConjunto ordenado de símbolos llamados “dígitos”,con relaciones definidas para operaciones de : Suma , Resta, Multiplicación y DivisiónLa base (r) del sistema representa el número totalde dígitos permitidos, por ejemplo: r=2 Binario dígitos: 0,1 r=10 Decimal dígitos: 0,1,2,3,4,5,6,7,8,9 r=8 Octal dígitos: 0,1,2,3,4,5,6,7 r=16 Hexadecimal dígitos:0,1,2,3,4,5,6,7,8,9 Conceptos de distributividad, conmutatividad y asociatividad A,B,C,D,E,F se usan en todos los sistemasSistemas Digitales 2
    • NOTACION POSICIONALEn general, un número positivo puede escribirsecomo: EjemplosN= (an-1….a1a0a-1a-2….a-m)r (123.45)10Donde: (1001.11)2 .= punto decimal (763.12)8 r= base o decimal (3A.2F)16 n= número de dígitos enteros positivos m= número de dígitos enteros negativos an-1= dígito más significativo (MSD) a-m= dígito menos significativo (LSD)Sistemas Digitales 3
    • NOTACION POLINOMIAL n −1 N= ∑a r i =− m i i Ejemplos(123.45)10 = 1*102+2*101+3*100+4*10-1+5*10-2(1001.11)2 = 1*23+0*22+0*21+1*20+1*2-1+1*2-2(763.12)8 = 7*82+6*81+3*80+1*8-1+2*8-2(3A.2F)16 = 3*161+A*160+2*16-1+F*16-2Donde: A=10, B=11, C=12, D=13, E=14 y F=15 Sistemas Digitales 4
    • Decimal Binario Octal Hexadecimal 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4Sistemas 5 101 5 5 6 110 6 6 de 7 111 7 7uso común 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 FSistemas Digitales 5
    • Conversión de un sistema de Base “ r ” a Base “10” Utilizando la notación polinomial: Ejemplos:(10100)2 = 1*24+0*23+1*22+0*21+0*20 =(20)10(AF3.15)16 = 10*162+15*161+3*160+1*16-1 +5*16-2 = (2803.08203125)10 Sistemas Digitales 6
    • Conversión de un sistema de Base “ r ” a Base “10” Utilizando la noción de los pesos: Ejemplo en el sistema Binario (r = 2): Peso (21) :8 4 2 1 Digito (bi) : b3 b2 b1 b0 (1001)2 = 8 + 1 = (9)10 (0101)2 = 4 + 1 = (5)10Sistemas Digitales 7
    • Conversión de un sistema de Base “10” a Base “ r ” Ejemplos de números enteros : Utilizando divisiones sucesivas por la Base msb = bit más significativo(13)10 = (1101)2 (234)10 = (EA)1613 : 2 234 :16 1 6 :2 10 14 :16 0 3 :2 A 14 0 1 1 :2 E 1 0 msb msbSistemas Digitales 8
    • Conversión de un sistema de Base “10” a Base “ r ” Ejemplos de números enteros y decimal. Sean los números decimales 13.12510 y 234.2510 Utilizando divisiones sucesivas por la Base para la parte entera (caso anterior) y multiplicaciones sucesivas por la Base para la parte decimal. msb msb entero entero 0.125 X2 0 25 X 16 4 0.250 X2 0 00 X 16 0 0.500 X2 1 1101.0012 EA.4016Sistemas Digitales 9
    • Conversión de un sistema de Base “10” a Base “8”Ejemplo : convertir (145.64)10 a número octalParte Entera : 14510= 2218 Entero Base Cuociente Resto 145 8 18 1 18 8 2 2 2 8 0 2Sistemas Digitales 10
    • Conversión de un sistema de Base “10” a Base “8”Ejemplo : convertir (145.64)10 a número octalParte Decimal : 0.6410 = 0.507534….8 Decimal Base Producto Acarreo 0.64 8 5.12 5 0.12 8 0.96 0 0.96 8 7.68 7 0.68 8 5.44 5 0.44 8 3.52 3 0.52 8 4.16 4 aproximación… ……Sistemas Digitales 11
    • Conversión entre Base Binaria y HexadecimalBase Binaria a Base Hexadecimal ( 1100 0011 1111 . 1101 )2 = ( C3F.D )16 C 3 F D ( 0001 1000 )2 = ( 18 )16 Completando Con 0’sSistemas Digitales 12
    • Conversión entre Base Binaria y HexadecimalBase Base Hexadecimal a Base Binaria ( 4AB.F5 )16 = ( 0100 1010 1011 . 1111 0101 )2Sistemas Digitales 13
    • Conversión entre Base Binaria y OctalBase Binaria a Base Octal ( 010 000 111 111 . 110 100 )2 = ( 2077.64 )8 Completando Con 0’sBase Base Octal a Base Binaria ( 457.05 )8 = ( 100 101 111 . 000 101 )2Sistemas Digitales 14
    • BCD : Binary Coded Decimal Representación en código binario de 4 bits de los números decimales. Números Decimales Código BCD 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001Sistemas Digitales 15
    • BCD : Binary Coded DecimalEjemplo: 4 0 9 6 ( 4096 )10 = 0100 0000 1001 0110 Número decimal Representación BCDComparación con su representación en Basebinaria. ( 4096 )10 = ( 1000000000000 )2 Sistemas Digitales 16
    • ARITMETICA BINARIA ( SUMA )• Condiciones : • 0+0=0 • 0+1=1 • 1+0=1 • 1 + 1 = 0 más un acarreo a la siguiente posición más significativa. Sistemas Digitales 17
    • ARITMETICA BINARIA ( SUMA )• Ejemplo : Acarreos 1 1 1 1 1 1 1 1 1 1 0 1 + 0 1 0 1 1 1 1 0 1 0 1 0 0 SUMA Sistemas Digitales 18
    • ARITMETICA BINARIA ( SUMA )• Ejemplo : 1 1 1 1 0 0 1 0 1 + 0 1 0 1 1 1 1 1 1 1 0 0 Sistemas Digitales 19
    • ARITMETICA BINARIA ( SUMA )• Ejemplo : 10 10 10 10 1 10 Acarreos 1 0 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 1 + 0 1 0 0 0 1 1 0 0 0 0 0 0 0 SumaSistemas Digitales 20
    • ARITMETICA BINARIA ( RESTA )• Condiciones : 0-0=0 1-0=1 1-1=0 0 – 1 = 1 tomando prestado 1, ó 10 – 1 = 1La última regla señala que si se resta un bit 1 de unbit 0, hay que tomar prestado un 1 de la siguientecolumna más significativa. Sistemas Digitales 21
    • ARITMETICA BINARIA ( RESTA )• Ejemplo : Restar 10011012 - 101112 6 5 4 3 2 1 0 Columnas 1 10 Prestamos 0 10 10 0 0 10 Prestamos 1 0 0 1 1 0 1 Minuendo - 1 0 1 1 1 Sustraendo 1 1 0 1 1 0 Diferencia Sistemas Digitales 22
    • ARITMETICA BINARIA ( RESTA )• Ejemplo : Restar 111012 - 101112 4 3 2 1 0 Columnas 1 1 1 0 1 Minuendo - 1+0=1 0+1=1 1+1=0 1+0=1 1 Sustraendo 0 0 1 1 0 DiferenciaSistemas Digitales 23
    • ARITMETICA BINARIA ( MULTIPLICACION)• Ejemplo: Multiplicar 101112 por 10102 1 0 1 1 1 Multiplicando X 1 0 1 0 Multiplicador 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0+ 1 0 1 1 1 1 1 1 0 0 1 1 0 Producto Sistemas Digitales 24
    • ARITMETICA BINARIA (MULTIPLICACION)• Ejemplo: Multiplicar 101112 por 10102 1 0 1 1 1 Multiplicando X 1 0 1 0 Multiplicador 0 0 0 0 0 Producto 1+ 1 0 1 1 1 Producto 2 1 0 1 1 1 0 Acumulativo 1+ 0 0 0 0 0 Producto 3 0 1 0 1 1 1 0 Acumulativo 2+ 1 0 1 1 1 Producto 4 1 1 1 0 0 1 1 0 Producto Sistemas Digitales 25
    • ARITMETICA BINARIA (DIVISION)• Ejemplo: Dividir 11101112 entre 10012 1 1 0 1 CuocienteDivisor 1 0 0 1 1 1 1 0 1 1 1 Dividendo 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 Residuo Sistemas Digitales 26
    • ARITMETICA OCTAL (SUMA y RESTA)• Ejemplo: Sumar 41638 + 75208 1 1 Acarreos 4 1 6 3 Sumando + 7 5 2 0 Sumando 1 3 7 0 3 Suma• Ejemplo: Sustraer 51738 de 62048 1 10 Prestado 6 2 0 4 Minuendo - 5 1 7 3 Sustraendo 1 0 1 1 Diferencia Sistemas Digitales 27
    • ARITMETICA OCTAL (Multiplicación) • Ejemplo: Multiplicar 41678 x 25038 4 1 6 7 Multiplicando x 2 5 0 3 Multiplicador 1 4 5 4 5 Productos Parciales 2 5 1 2 3 0+ 1 0 3 5 6 1 3 1 0 5 0 4 5 Producto Sistemas Digitales 28
    • ARITMETICA OCTAL (División)• Ejemplo: Dividir 41638 : 258 1 4 7 Cuociente Divisor 2 5 4 1 6 3 Dividendo - 2 5 1 4 6 - 1 2 4 2 2 3 - 2 2 3 0 Residuo Sistemas Digitales 29
    • ARITMETICA HEXADECIMAL ( Suma)• Ejemplo: Sumar 2A5816 + 71D016 1 Acarreos 2 A 5 8 Sumando + 7 1 D 0 Sumando 9 C 2 8 Suma Sistemas Digitales 30
    • ARITMETICA HEXADECIMAL ( Resta)• Ejemplo: Sustraer 4A3616 de 9F1B16 E 11 Prestamos 9 F 1 B Minuendo - 4 A 3 6 Sustraendo 5 4 E 5 Diferencia Sistemas Digitales 31
    • ARITMETICA HEXADECIMAL (Multiplicación)• Ejemplo: Multiplicar 5C2A16 X 71D016 5 C 2 A Multiplicando X 7 1 D 0 Multiplicador 4 A E 2 2 0 Productos Parciales 5 C 2 A+ 2 8 5 2 6 2 8 F 9 6 C 2 0 Producto Sistemas Digitales 32
    • ARITMETICA HEXADECIMAL (División)• Ejemplo: Dividir 27FCA16 : 3E16 A 5 1 Cuociente Divisor 3 E 2 7 F C A Dividendo 2 6 C 1 3 C 1 3 6 6 A 3 E 2 C Residuo Sistemas Digitales 33
    • NUMEROS SIGNADOS Las computadoras construyen los signos “+” y “-” mediante los bits “0” y “1” respectivamente. Mediante un bir adicional, conocido como bit de signo es puesto como el bit más significativo de una expresión binaria.• Ejemplo: Magnitud -1310 = 1,11012 +2710=0,11011 Bit de Separador Signo de Signo Sistemas Digitales 34
    • NUMEROS SIGNADOS Representación de los ComplementosRepresentación en Complemento 1’sLa representación en complemento 1’s de unnúmero binario signado, se expresa cambiando eloperando del número por su complemento (0 por 1y 1 por 0) y manteniendo el bit de signo.Por ejemplo:Sea N= +6 valor positivo, de representación binaria0,01102 , su complemento 1’a será 0,10012.Sea N= -17 valor negativo, de representaciónbinaria 1,100012 , su complemento 1’s será1,011102.Sistemas Digitales 35
    • NUMEROS SIGNADOS Representación de los Complementos La primera ventaja de complementar números, es que el proceso de la sustracción se ejecuta por la adición de ellos. Asuma por ejemplo, que se desea realizar la operación siguiente: (+1710) – (+1210) = (+1710) + (-1210)Sea N=(+1710) = 0,100012 y N=(+1210)= 0,011002,El complemento 1’s de N(-1210) = 1,100112 , luego setiene N=(+1710) + N=(-1210) Sistemas Digitales 36
    • NUMEROS SIGNADOS Representación de los Complementos 1 1 0 0 1 1 Bits de acarreo 0, 1 0 0 0 1 + 1710 + 1, 1 0 0 1 1 - 1210 0, 0 0 1 0 0 + 410 + 1 0, 0 0 1 0 1 + 510Sistemas Digitales 37
    • NUMEROS SIGNADOSRango de representación de los números signados.Combinando 8 bits (1 byte), se pueden representarhasta 256 números diferentes. Con dos bytes,hasta 65.536 números diferentes. La fórmula paracalcular el número de combinaciones diferentes de“n” bits es: N° total de combinaciones = 2nPara los números con signo en complemento a 2, elrango de valores para números de “n” bits es: -(2n-1) a +(2n-1 -1)habiendo en cada caso un bit de signo y n-1 bits demagnitud. Con 4 bits el rango es de -8 a +7.Sistemas Digitales 38
    • ARITMETICA BINARIA DE NUMEROS CON SIGNO LA SUMA Cuando se suman dos números binarios con signo se pueden producir cuatro casos: 1. Ambos números son positivos. 2. El número positivo es mayor que el negativo en valor absoluto. 3. El número negativo es mayor que el positivo en valor absoluto. 4. Ambos números son negativos.Sistemas Digitales 39
    • ARITMETICA BINARIA DE NUMEROS CON SIGNOCaso 1: Cs+1 Cs 0, 0 0 0 0 1 1 1 +7 + 0, 0 0 0 0 1 0 0 +4 0, 0 0 0 1 0 1 1 +11 Si Cs+1 = Cs se descarta Acarreo Si Cs+1 ≠ Cs se considera Acarreo y la coma se desplaza un bit a la izquierda Sistemas Digitales 40
    • ARITMETICA BINARIA DE NUMEROS CON SIGNOCaso 2: 0, 0 0 0 1 1 1 1 +15 + 1, 0 0 0 0 1 1 0 -6 1 1 0, 0 0 0 1 1 1 1 +15 + 1, 1 1 1 1 0 1 0 -6 Compl. 2 0, 0 0 0 1 0 0 1 +9 Sistemas Digitales 41
    • ARITMETICA BINARIA DE NUMEROS CON SIGNOCaso 3: 0, 0 0 1 0 0 0 0 +16 + 1, 0 0 1 1 0 0 0 -24 0 0 0, 0 0 1 0 0 0 0 +16 + 1, 1 1 0 1 0 0 0 -24 Compl. 2 1, 1 1 1 1 0 0 0 -8 Sistemas Digitales 42
    • ARITMETICA BINARIA DE NUMEROS CON SIGNOCaso 4: 1, 0 0 0 0 1 0 1 -5 + 1, 0 0 0 1 0 0 1 -9 1 1 1, 1 1 1 1 0 1 1 -5 Compl. 2 + 1, 1 1 1 0 1 1 1 -9 Compl. 2 1, 1 1 1 0 0 1 0 -14 Sistemas Digitales 43
    • ARITMETICA BINARIA DE NUMEROS CON SIGNO LA RESTA N1 MINUENDO - N2 SUSTRAENDO +N3 DIFERENCIASistemas Digitales 44
    • ARITMETICA BINARIA DE NUMEROS CON SIGNO LA RESTASe deben aplicar dos reglas en la sustracción encomplemento 2’s : Regla I Al sacar el complemento 2’s del sustraendo se debe considerar lo siguiente: 1. Si es un número Positivo cámbielo a un número negativo en complemento 2’s. 2. Si es un número Negativo cambie la magnitud del número a uno positivo, es decir, sólo complementa el signo.Sistemas Digitales 45
    • ARITMETICA BINARIA DE NUMEROS CON SIGNO LA RESTA Regla II Después de sacar el complemento 2’s del sustraendo súmelo al minuendo y obtenga la diferencia. El bit correspondiente al signo de la diferencia determina si éste es positivo o negativo y desde luego si se encuentra en la forma binaria correcta o en complemento 2’s.Sistemas Digitales 46
    • ARITMETICA BINARIA DE NUMEROS CON SIGNO LA RESTAEjemplos : 0, 1 0 0 1 +9 - 0, 0 1 0 0 +4 +5 1 1 0, 1 0 0 1 +9 - 1, 1 1 0 0 +4 C. 2’s 0, 0 1 0 1 +5 Sistemas Digitales 47
    • ARITMETICA BINARIA DE NUMEROS CON SIGNO LA RESTAEjemplos : 0, 1 0 0 1 +9 - 1, 0 1 0 0 -4 +13 0 0 0, 1 0 0 1 +9 - 0, 0 1 0 0 -4 C. signo 0, 1 1 0 1 +13 Sistemas Digitales 48
    • ARITMETICA BINARIA DE NUMEROS CON SIGNO LA RESTAEjemplos : 1, 1 0 0 1 -9 - 0, 0 1 0 0 +4 -13 1 1 1, 0 1 1 1 -9 C. 2’s - +4 C. Signo 1, 1 1 0 0 y 2’s 1, 0 0 1 1 -13 Sistemas Digitales 49
    • ARITMETICA BINARIA DE NUMEROS CON SIGNO LA RESTAEjemplos : 1, 1 0 0 1 -9 - 1, 0 1 0 0 -4 -5 0 0 1, 0 1 1 1 -9 C. 2’s - 0, 0 1 0 0 -4 C. Signo 1, 1 0 1 1 -5 Sistemas Digitales 50
    • ARITMETICA BINARIA DE NUMEROS CON SIGNO LA RESTAEjemplos : 0, 0 1 0 0 +4 - 1, 0 1 0 0 -4 +8 0 0 0, 0 1 0 0 +4 - 0, 0 1 0 0 -4 C. Signo 0, 1 0 0 0 +8 Sistemas Digitales 51
    • ARITMETICA DE NUMEROS EN CODIGO BCD LA SUMABCD es un código numérico y que puede utilizarse enoperaciones aritméticas. La suma es la másimportante de estas operaciones, ya que las otrastres operaciones (sustracción, multiplicación ydivisión) se pueden llevar a cabo utilizando la suma.A continuación, se explicará como se suman dosnúmeros en código BCD. Sistemas Digitales 52
    • ARITMETICA DE NUMEROS EN CODIGO BCD LA SUMAPaso 1. Sumar los dos números BCD utilizando las reglas de la suma binaria.Paso 2. Si una suma de 4 bits es igual o menor que 9, es un número BCD válido.Paso 3. Si una suma de 4 bits es mayor que 9, o si genera acarreos en el grupo de 4 bits, el resultado no es valido. En este caso, se suma 6 (0110) al grupo de 4 bits para saltar así los seis estados no válidos y pasar al código 8421. Si se genera un acarreo al sumar 6, éste se suma al grupo de 4 bits siguiente. Sistemas Digitales 53
    • ARITMETICA DE NUMEROS EN CODIGO BCD LA SUMA 1 0 0 1 9 + 0 1 0 0 + 4 1 1 0 1 BCD no válido > 9 13 + 0 1 1 0 Se Suma 6 0 0 0 1 0 0 1 1 BCD válido 1 3Sistemas Digitales 54
    • ARITMETICA DE NUMEROS EN CODIGO BCD LA SUMA 1 0 0 1 9 + 1 0 0 1 + 9 1 0 0 1 0 No válido por acarreo 18 + 0 1 1 0 Se Suma 6 0 0 0 1 1 0 0 0 BCD válido 1 8Sistemas Digitales 55
    • ARITMETICA DE NUMEROS EN CODIGO BCD LA SUMA 0 0 0 1 0 1 1 0 16+ 0 0 0 1 0 1 0 1 + 15 BCD no válido > 9 0 0 1 0 1 0 1 1 31 BCD válido+ acarreo 1 + 0 1 1 0 Se Suma 6 0 0 1 1 0 0 0 1 BCD’s válidos 3 1 Sistemas Digitales 56
    • ARITMETICA DE NUMEROS EN CODIGO BCD LA SUMA 0110 0111 67+ 0101 0011 + 53 1011 1 0 1 0 BCD’s no válidos > 9 120+ 1 0110 0110 Se Suma 6 0 0 01 0010 0000 BCD’s Válidos 57 1 Sistemas Digitales 2 0
    • ARITMETICA DE NUMEROS EN CODIGO BCD LA RESTA 0100 0101 45 - 0011 0100 - 34 0001 0001 BCD’s válidos 11 1 1Sistemas Digitales 58
    • ARITMETICA DE NUMEROS EN CODIGO BCD LA RESTA 0010 1000 28 - 0001 1001 - 19 BCD no válido 0000 1111 9 BCD válido - 0110 Resta 6 1001 59Sistemas Digitales 9
    • CODIGOS DIGITALESExisten muchos códigos especializados que se usanen sistemas digitales, tales como el código Gray, elcódigo de exceso 3 y el código ASCII.El código Gray es un código sin pesos y noaritmético; es decir, no existen pesos específicosasignados a la posición de los bits. La característicamás importante del código Gray es que sólo varíaun bit de un código al siguiente.Sistemas Digitales 60
    • CODIGO DIGITAL GRAY DECIMAL BINARIO GRAY 0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101 10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000Sistemas Digitales 61
    • CODIGO DIGITAL GRAY1. Convertir a código Gray, el número binario 11000110.2. Convertir a binario el código Gray 10101111.Solución1. Binario a código Gray: 1 + 1 + 0 + 0 + 0 + 1 + 1 + 0 1 0 1 0 0 1 0 1Observación : no tener en cuenta el acarreo Sistemas Digitales 62
    • CODIGO DIGITAL GRAY2. Código Gray a Binario: 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0Sumar en esta dirección sin acarreo Sistemas Digitales 63
    • CODIGO DIGITAL EXCESO 3Es un código digital relacionado con el BCD, y sederiva de él sumando 3 a cada dígito decimal yconvirtiendo el resultado de esta suma en númerobinario de 4 bits. Es un código sin ningún peso. DECIMAL BCD EXCESO-3 0 0000 0011 1 0001 0100 2 0010 0101 3 0011 0110 4 0100 0111 5 0101 1000 6 0110 1001 7 0111 1010 8 1000 1011 9 1001 1100 Sistemas Digitales 64
    • CODIGO DIGITAL EXCESO 3Ejemplo:• Convertir a código exceso 3 el número decimal 430 4 3 0 + 3 + 3 + 3 7 6 3Exceso-3 0111 0110 0011 Sistemas Digitales 65
    • ASCIIEl American Estándar Code for InformationInterchange (ASCII, código estándar americanopara el intercambio de información), es un códigoalfanumérico universalmente aceptado, que se usaen la mayoría de los computadores y otros equiposelectrónicos (teclados).Dispone de 128 caracteres que se representan porcódigos binarios de 7 bits. Letras , números ysímbolos.Ejemplos: Carácter Binario Hexadec. P 1010000 5016 = 0111101 3D16Sistemas Digitales 66
    • Método de paridad para la detección de erroresMucho sistemas emplean un bit de paridad comomedio para la detección de errores de bit.Cualquier grupo de bits contiene un número par oimpar de 1s.Un bit de paridad se añade al grupo de bits parahacer que el número total de 1s en el grupo seasiempre par o siempre impar.Un bit de paridad par hace que el número total de1s en el grupo sea par y un bit de paridad imparhace que el número total de 1s en el grupo seaimpar.Un determinado sistema puede funcionar conparidad par o impar, pero no con ambas.Sistemas Digitales 67
    • Método de paridad para la detección de erroresPor ejemplo, si un sistema trabaja con paridad par,una comprobación que se realice en cada grupo debits recibidos tiene que asegurar que el númerototal de 1s en ese grupo es par. Si hay un númerototal impar de 1s, quiere decir que se ha producidoun error.El bit de paridad se puede añadir al principio o alfinal del código, dependiendo del diseño delsistema.Observe que el número total de 1s incluyendo el bitde paridad es siempre par para paridad par, ysiempre es impar para paridad impar.Sistemas Digitales 68
    • Método de paridad para la detección de erroresDetección de un error. Un bit de paridad facilita ladetección de un único error de bit, pero no puededetectar dos errores dentro de un grupo.Ejemplo: Transmitir el código BCD 0101 conparidad par. Bit de paridad par 00101 Código BCDSistemas Digitales 69
    • Código HAMMING de Corrección de ErroresEste código no sólo permite detectar un biterróneo, sino también identifica el bit erróneo deforma que pueda ser corregido.El código utiliza un número de bits de paridad(dependiendo del número de bits de información),localizados en determinadas posiciones del grupodel código.La detección del código que aquí se presentacorresponde a una única corrección de error.Sistemas Digitales 70
    • Código HAMMING de Corrección de ErroresNúmeros de ParidadSi al número de bits de información lo designamoscomo m, entonces el número de bits de paridad, p, sedetermina mediante la siguiente relación: 2p> m + p + 1Por ejemplo, si se tiene cuatros bits de información(m=4), p se calcula mediante el método de prueba yerror. Sea p=2, entonces 2p >=22=4 y m+p+1=4+2+1=7Puesto que p=2 no satisface la ecuación, se buscaprobar con p=3. Sistemas Digitales 71
    • Código HAMMING de Corrección de ErroresSea p=3, entonces: 2p=23=8 y m+p+1=4+3+1=8este valor de p satisface la ecuación, de manera quese necesitan tres bits de paridad para proporcionarcorrección simple de errores para cuatro bits deinformación.Conviene fijarse en que la detección y corrección deerrores se proporciona para todos los bits, tanto deparidad como de información, dentro de un grupo decódigo. Sistemas Digitales 72
    • Código HAMMING de Corrección de ErroresSituación de los bits de paridad dentro del códigoSe debe tener en cuenta que en esta expresión, elcódigo se compone de cuatro bits de información y detres bits de paridad.El bit más a la izquierda se designa como bit 1, elsiguiente bit 2, y así sucesivamente del mismo modo: bit 1, bit 2, bit 3, bit 4, bit 5, bit 6 , bit 7 Sistemas Digitales 73
    • Código HAMMING de Corrección de ErroresLos bits de paridad se sitúan en las posiciones cuyanumeración corresponde a las potencias de dos ensentido ascendente (1,2,4,8,…..), tal como se indica: P1, P2, M1, P3, M2, M3, M4El símbolo Pn designa un determinado bit de paridad yMn designa un determinado bit de información. Sistemas Digitales 74
    • Código HAMMING de Corrección de ErroresAsignación de valores a los bits de paridad1. Se tiene que asignar un valor 1 ó 0 a cada bit de paridad.2. Dado que cada bit de paridad proporciona una comprobación de otros bits del código total, se tiene que conocer el valor de estos otros bits para poder asignarle un valor.3. Para encontrar los valores del bit, primero se tiene que numerar cada posición de bit en forma de número binario.4. A continuación, se indica la situación de los bits de paridad y de información. Sistemas Digitales 75
    • Código HAMMING de Corrección de Errores5. Tenga en cuenta que el número binario que indica la posición del bit de paridad P1 contiene un 1 como el dígito más a la derecha. Este bit de paridad comprueba todas las posiciones de bit, incluída la suya propia, que tiene como valor “1” en la misma posición que los números binarios que indican la posición. Por consiguiente, el bit de paridad P1, comprueba las posiciones de bit 1, 3, 5 y 7. Tabla de posiciones de los bits para código de corrección de errores de 7 bits Designación de bit P1 P2 M1 P3 M2 M3 M4 Posición de bit 1 2 3 4 5 6 7 Número binario de posición 001 010 011 100 101 110 111 Bits de información (Mn) Bits de paridad (Pn) Sistemas Digitales 76
    • Código HAMMING de Corrección de Errores6. El número binario de posición para el bit de paridad P2 tiene un “1” en el bit del medio. Comprueba todas las posiciones de bit, incluída la suya propia, que tienen un “1” en la misma posición. Por lo tanto, el bit de paridad P2 comprueba las posiciones de bit 2, 3, 6 y 7.7. Bajo la misma premisa, el bit de paridad P3, comprobará las posiciones de bit 4, 5, 6 y 7.8. En cada caso, al bit de paridad se le asigna un valor tal, que haga que el número de unos del conjunto de bits que comprueba, sea par o impar, de acuerdo a lo que especificado. Sistemas Digitales 77
    • Código HAMMING de Corrección de ErroresEjemplo:Determinar el código de corrección de error para elnúmero de código BCD 1001 (bits de información),utilizando paridad par.Solución:Paso 1. Encontrar el número de bits de paridad requeridos. Sea p=3, entonces 2p = 23 = 8 y m + p + 1 = 8 tres bits de paridad son suficientes. Bits totales del código = 4 + 3 = 7 Sistemas Digitales 78
    • Código HAMMING de Corrección de ErroresPaso 2. Construir una tabla de posiciones de los bits para un código de corrección de errores de 7 bits. Recuerde que el número es el BCD 1001 (bits de información) Designación de bit P1 P2 M1 P3 M2 M3 M4 Posición de bit 1 2 3 4 5 6 7 Número binario de posición 001 010 011 100 101 110 111 Bits de información (Mn) 1 0 0 1 Bits de paridad (Pn) BCD 1001 Sistemas Digitales 79
    • Código HAMMING de Corrección de ErroresPaso 3. Determinar los bits de paridad de la siguiente manera: El bit P1 comprueba las posiciones 1, 3, 5 y 7 y tiene que ser 0 para que haya un número par de unos (2) en este grupo. El bit P2 comprueba las posiciones 2, 3, 6 y 7 y tiene que ser 0 para que haya un número par de unos (2) en este grupo. El bit P3 comprueba las posiciones 4, 5, 6 y 7 y tiene que ser 1 para que haya un número par de unos (2) en este grupo. Sistemas Digitales 80
    • Código HAMMING de Corrección de ErroresPaso 4. Estos bits se introducen en la tabla. Designación de bit P1 P2 M1 P3 M2 M3 M4 Posición de bit 1 2 3 4 5 6 7 Número binario de posición 001 010 011 100 101 110 111 Bits de información (Mn) 1 0 0 1 Bits de paridad (Pn) 0 0 1 El código combinado resultante es 0011001 Sistemas Digitales 81
    • Código HAMMING de Corrección de ErroresDetección y corrección de un error Ahora que ya se tiene un método de construcción de un código de errores, ¿Cómo se puede aplicar para localizar el error?1. Cada bit de paridad, junto con su correspondiente grupo de bits, tiene que ser comprobado con la paridad adecuada.2. Si hay tres bits de paridad en una palabra de código, entonces hay que realizar tres comprobaciones de paridad.3. Cada comprobación de paridad nos dará un resultado correcto o incorrecto.4. El resultado total de las comprobaciones de paridad indican el bit, si es que lo hay, que es erróneo. Sistemas Digitales 82
    • Código HAMMING de Corrección de ErroresLos pasos a seguir son entonces los siguientes:Paso 1. Comenzar con el grupo que comprueba P1.Paso 2. Comprobar que el grupo tenga la paridad adecuada. Un 0 representa que la comprobación de paridad es correcta y un 1 representa una mala comprobación.Paso 3. Repetir el paso 2 para cada grupo de paridad.Paso 4. El número binario formado a partir de los resultados de todas las comprobaciones de paridad determina la posición del bit de código que contiene un error. Este es el código de posición de error. La primera comprobación de paridad genera el bit menos significativo. Si todas las comprobaciones son correctas, no hay error. Sistemas Digitales 83
    • Código HAMMING de Corrección de ErroresEjemplo :Suponer que la palabra de código del ejemplo anterior(0011001) es transmitida y que recibimos 0010001. El receptorno “conoce” cuál fue la palabra transmitida y tiene que buscarlas paridades adecuadas para determinar si el código escorrecto. Encontrar cualquier error que haya habido en latransmisión si utilizamos paridad par.Solución :Construimos una tabla de posición de bit: Designación de bit P1 P2 M1 P3 M2 M3 M4 Posición de bit 1 2 3 4 5 6 7 Número binario de posición 001 010 011 100 101 110 111 Código recibido 0 0 1 0 0 0 1 Sistemas Digitales 84
    • Código HAMMING de Corrección de ErroresPrimera comprobación de paridad: El bit P1 comprueba las posiciones 1, 3, 5 y 7. Hay dos unos en este grupo Comprobación de paridad correcta 0 (LSB)Segunda comprobación de paridad: El bit P2 comprueba las posiciones 2, 3, 6 y 7. Hay dos unos en este grupo Comprobación de paridad correcta 0Tercera comprobación de paridad: El bit P3 comprueba las posiciones 4, 5, 6 y 7. Hay un uno en este grupo Comprobación de paridad incorrecta 1 (MSB) Sistemas Digitales 85
    • Código HAMMING de Corrección de ErroresResultado: El código de posición de error es 100 (cuatro binario). Esto indica que el bit de la posición 4 es erróneo, y que es un 0 cuando debería ser un 1. El código corregido es 0011001, que concuerda con el código transmitido. Sistemas Digitales 86