86
Sistemas Digitales Sistemas Digitales 1 1 SISTEMAS NUMERICOS SISTEMAS NUMERICOS 2007 2007

SISTEMAS NUMERICOS EN SISTEMAS DIGITALES

  • Upload
    uantof

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Sistemas Digitales Sistemas Digitales 11

SISTEMAS NUMERICOSSISTEMAS NUMERICOS

20072007

Sistemas Digitales Sistemas Digitales 22

SISTEMAS NUMERICOSSISTEMAS NUMERICOS

Conjunto ordenado de sConjunto ordenado de síímbolos llamados mbolos llamados ““ddíígitosgitos””, , con relaciones definidas para operaciones de :con relaciones definidas para operaciones de :

Suma , Resta, MultiplicaciSuma , Resta, Multiplicacióón y Divisin y Divisióónn

La base (r) del sistema representa el nLa base (r) del sistema representa el núúmero total mero total de dde díígitos permitidos, por ejemplo:gitos permitidos, por ejemplo:

r=2 Binarior=2 Binario ddíígitos: 0,1gitos: 0,1

r=10 Decimalr=10 Decimal ddíígitos: 0,1,2,3,4,5,6,7,8,9gitos: 0,1,2,3,4,5,6,7,8,9

r=8 Octalr=8 Octal ddíígitos: 0,1,2,3,4,5,6,7gitos: 0,1,2,3,4,5,6,7

r=16 Hexadecimal dr=16 Hexadecimal díígitos:0,1,2,3,4,5,6,7,8,9gitos:0,1,2,3,4,5,6,7,8,9

A,B,C,D,E,FA,B,C,D,E,FConceptos de distributividad, conmutatividad y asociatividad se usan en todos los sistemas

Sistemas Digitales Sistemas Digitales 33

NOTACION POSICIONALNOTACION POSICIONAL

En general, un nEn general, un núúmero positivo puede escribirse mero positivo puede escribirse como:como:

N= (N= (aann--11 …….a.a11 aa00 aa--11 aa--22 …….a.a--mm ))rr

Donde:Donde:

.= punto decimal.= punto decimal

r= base o decimalr= base o decimal

n= nn= núúmero de dmero de díígitos enteros positivosgitos enteros positivos

m= nm= núúmero de dmero de díígitos enteros negativosgitos enteros negativos

aann--11 = d= díígito mgito máás significativo (MSD)s significativo (MSD)

aa--mm = d= díígito menos significativo (LSD)gito menos significativo (LSD)

EjemplosEjemplos

(123.45)(123.45)1010

(1001.11)(1001.11)22

(763.12)(763.12)88

(3A.2F)(3A.2F)1616

Sistemas Digitales Sistemas Digitales 44

NOTACION POLINOMIALNOTACION POLINOMIAL

∑−

−=

=1n

mi

iiraN

EjemplosEjemplos

(123.45)(123.45)1010 = 1*10= 1*1022+2*10+2*1011+3*10+3*1000+4*10+4*10--11+5*10+5*10--22

(1001.11)(1001.11)2 2 = 1*2= 1*233+0*2+0*222+0*2+0*211+1*2+1*200+1*2+1*2--11+1*2+1*2--22

(763.12)(763.12)88 = 7*8= 7*822+6*8+6*811+3*8+3*800+1*8+1*8--11+2*8+2*8--22

(3A.2F)(3A.2F)1616 = 3*16= 3*1611+A*16+A*1600+2*16+2*16--11+F*16+F*16--22

Donde: A=10, B=11, C=12, D=13, E=14 y F=15Donde: A=10, B=11, C=12, D=13, E=14 y F=15

Sistemas Digitales Sistemas Digitales 55

DecimalDecimal BinarioBinario OctalOctal HexadecimalHexadecimal

00 00 00 00

11 11 11 11

22 1010 22 22

33 1111 33 33

44 100100 44 44

55 101101 55 55

66 110110 66 66

77 111111 77 77

88 10001000 1010 88

99 10011001 1111 99

1010 10101010 1212 AA

1111 10111011 1313 BB

1212 11001100 1414 CC

1313 11011101 1515 DD

1414 11101110 1616 EE

1515 11111111 1717 FF

Sistemas Sistemas

de de

uso comuso comúúnn

Sistemas Digitales Sistemas Digitales 66

ConversiConversióón de un sistema de Base n de un sistema de Base ““ r r ”” a Base a Base ““1010””

Utilizando la notaciUtilizando la notacióón polinomial:n polinomial:

Ejemplos:Ejemplos:

(10100)(10100)22 = 1*2= 1*244+0*2+0*233+1*2+1*222+0*2+0*211+0*2+0*200 =(20)=(20)1010

(AF3.15)16 = 10*16(AF3.15)16 = 10*1622+15*16+15*1611+3*16+3*1600+1*16+1*16--11

+5*16+5*16--22 = (2803.08203125)= (2803.08203125)1010

Sistemas Digitales Sistemas Digitales 77

ConversiConversióón de un sistema de Base n de un sistema de Base ““ r r ”” a Base a Base ““1010””

Utilizando la nociUtilizando la nocióón de los pesos:n de los pesos:

Ejemplo en el sistema Binario (r = 2):Ejemplo en el sistema Binario (r = 2):

Peso (2Peso (211) ) : 8 4 2 1: 8 4 2 1

Digito (Digito (bbii )) : b: b33 bb22 bb11 bb00

(1001)(1001)22 = 8 + 1 = (9)= 8 + 1 = (9)1010

(0101)(0101)22 = 4 + 1 = (5)= 4 + 1 = (5)1010

Sistemas Digitales Sistemas Digitales 88

ConversiConversióón de un sistema de Base n de un sistema de Base ““1010”” a Base a Base ““ r r ””

Utilizando divisiones sucesivas por la BaseUtilizando divisiones sucesivas por la Base

msbmsb = bit m= bit máás significativos significativo

Ejemplos de nEjemplos de núúmeros enteros :meros enteros :

(13)(13)1010 = (1101)= (1101)22

1313 : 2: 2

11 66 : 2: 2

00 33 : 2: 2

11 11 : 2: 2

11 00

(234)(234)1010 = (EA)= (EA)1616

234234 :16:16

1010 1414 :16:16

AA 1414 00

EE

msbmsb

Sistemas Digitales Sistemas Digitales 99

Ejemplos de nEjemplos de núúmeros enteros y decimal. Sean los meros enteros y decimal. Sean los nnúúmeros decimales 13.125meros decimales 13.12510 10 y 234.25y 234.251010

ConversiConversióón de un sistema de Base n de un sistema de Base ““1010”” a Base a Base ““ r r ””

Utilizando divisiones sucesivas por la Base para la Utilizando divisiones sucesivas por la Base para la parte entera (caso anterior) y multiplicaciones parte entera (caso anterior) y multiplicaciones sucesivas por la Base para la parte decimal.sucesivas por la Base para la parte decimal.

enteroentero

0.1250.125 X 2X 2 00

0.2500.250 X 2X 2 00

0.5000.500 X 2X 2 11

enteroentero

2525 X 16X 16 44

0000 X 16X 16 00

1101.0011101.00122 EA.40EA.401616

msb msb

Sistemas Digitales Sistemas Digitales 1010

ConversiConversióón de un sistema de Base n de un sistema de Base ““1010”” a Base a Base ““88””

Ejemplo : convertir (145.64)Ejemplo : convertir (145.64)1010 a na núúmero octalmero octal

Parte Entera : 145Parte Entera : 1451010 = = 22122188

EnteroEntero BaseBase CuocienteCuociente RestoResto

145145 88 1818 11

1818 88 22 22

22 88 00 22

Sistemas Digitales Sistemas Digitales 1111

ConversiConversióón de un sistema de Base n de un sistema de Base ““1010”” a Base a Base ““88””

Ejemplo : convertir (145.64)Ejemplo : convertir (145.64)1010 a na núúmero octalmero octal

DecimalDecimal BaseBase ProductoProducto AcarreoAcarreo

0.640.64 88 5.125.12 55

0.120.12 88 0.960.96 00

0.960.96 88 7.687.68 77

0.680.68 88 5.445.44 55

0.440.44 88 3.523.52 33

0.520.52 88 4.164.16 44

aproximaciaproximacióónn…… …………

Parte Decimal : 0.64Parte Decimal : 0.641010 = = 0.5075340.507534……..88

Sistemas Digitales Sistemas Digitales 1212

ConversiConversióón entre Base Binaria y Hexadecimaln entre Base Binaria y Hexadecimal

Base Binaria a Base HexadecimalBase Binaria a Base Hexadecimal

( 1100 0011 1111 . 1101 )( 1100 0011 1111 . 1101 )22 = ( C3F.D )= ( C3F.D )1616

C 3 F DC 3 F D

( ( 0000001 1000 )1 1000 )22 = ( 18 )= ( 18 )1616

CompletandoCompletando

Con 0Con 0’’ss

Sistemas Digitales Sistemas Digitales 1313

Base Base BaseBase Hexadecimal a Base BinariaHexadecimal a Base Binaria

ConversiConversióón entre Base Binaria y Hexadecimaln entre Base Binaria y Hexadecimal

( 4AB.F5 )( 4AB.F5 )16 16 = ( = ( 00100 1010 1011 . 1111 0101 )100 1010 1011 . 1111 0101 )22

Sistemas Digitales Sistemas Digitales 1414

ConversiConversióón entre Base Binaria y Octaln entre Base Binaria y Octal

Base Binaria a Base OctalBase Binaria a Base Octal

( ( 0010 000 111 111 . 110 110 000 111 111 . 110 10000 ))22 = ( 2077.64 )= ( 2077.64 )88

CompletandoCompletando

Con 0Con 0’’ss

Base Base BaseBase Octal a Base BinariaOctal a Base Binaria

( 457.05 )( 457.05 )88 = ( 100 101 111 . 000 101 )= ( 100 101 111 . 000 101 )22

Sistemas Digitales Sistemas Digitales 1515

BCD : BCD : BinaryBinary CodedCoded DecimalDecimal

RepresentaciRepresentacióón en cn en cóódigo binario de 4 bits de los digo binario de 4 bits de los nnúúmeros decimales.meros decimales.

NNúúmeros Decimalesmeros Decimales CCóódigo BCDdigo BCD00 0000000011 0001000122 0010001033 0011001144 0100010055 0101010166 0110011077 0111011188 1000100099 10011001

Sistemas Digitales Sistemas Digitales 1616

BCD : BCD : BinaryBinary CodedCoded DecimalDecimal

Ejemplo:Ejemplo:

( 4096 )( 4096 )1010 == 0100 0000 1001 01100100 0000 1001 0110

NNúúmero decimal Representacimero decimal Representacióón BCDn BCD

ComparaciComparacióón con su representacin con su representacióón en Base n en Base binaria.binaria.

( 4096 )( 4096 )1010 = ( 1000000000000 )= ( 1000000000000 )22

4 0 9 64 0 9 6

Sistemas Digitales Sistemas Digitales 1717

ARITMETICA BINARIA ( SUMA )ARITMETICA BINARIA ( SUMA )

•• Condiciones :Condiciones :

•• 0 + 0 = 00 + 0 = 0

•• 0 + 1 = 10 + 1 = 1

•• 1 + 0 = 11 + 0 = 1

•• 1 + 1 = 0 m1 + 1 = 0 máás un acarreo a la siguiente s un acarreo a la siguiente posiciposicióón mn máás significativa.s significativa.

Sistemas Digitales Sistemas Digitales 1818

ARITMETICA BINARIA ( SUMA )ARITMETICA BINARIA ( SUMA )

•• Ejemplo :Ejemplo :

11 11 11 11 11 11

11 11 11 11 00 11

++ 00 11 00 11 11 11

11 00 11 00 11 00 00

Acarreos

SUMA

Sistemas Digitales Sistemas Digitales 1919

ARITMETICA BINARIA ( SUMA )ARITMETICA BINARIA ( SUMA )

•• Ejemplo :Ejemplo :

11 11 11

11 00 00 11 00 11

++ 00 11 00 11 11 11

11 11 11 11 00 00

Sistemas Digitales Sistemas Digitales 2020

ARITMETICA BINARIA ( SUMA )ARITMETICA BINARIA ( SUMA )

•• Ejemplo :Ejemplo :

1010 1010 1010 1010 11 1010 AcarreosAcarreos

11 00 11 11 00 11

11 11 00 11 00 11

00 00 11 11 00 11

++ 00 11 00 00 00 11

11 00 00 00 00 00 00 00 SumaSuma

Sistemas Digitales Sistemas Digitales 2121

ARITMETICA BINARIA ( RESTA )ARITMETICA BINARIA ( RESTA )

•• Condiciones : Condiciones :

0 0 -- 0 = 00 = 0

1 1 -- 0 = 10 = 1

1 1 -- 1 = 0 1 = 0

0 0 –– 1 = 1 tomando prestado 1, 1 = 1 tomando prestado 1,

óó 10 10 –– 1 = 11 = 1

La La úúltima regla seltima regla seññala que si se resta un bit 1 de un ala que si se resta un bit 1 de un bit 0, hay que tomar prestado un 1 de la siguiente bit 0, hay que tomar prestado un 1 de la siguiente columna mcolumna máás significativa.s significativa.

Sistemas Digitales Sistemas Digitales 2222

ARITMETICA BINARIA ( RESTA )ARITMETICA BINARIA ( RESTA )

•• Ejemplo : Restar 1001101Ejemplo : Restar 100110122 -- 101111011122

66 55 44 33 22 11 00 Columnas

11 1010 Prestamos

00 1010 1010 00 00 1010 Prestamos

11 00 00 11 11 00 11 Minuendo

-- 11 00 11 11 11 Sustraendo

11 11 00 11 11 00 Diferencia

Sistemas Digitales Sistemas Digitales 2323

44 33 22 11 00 Columnas

11 11 11 00 11 Minuendo

-- 11++00==11 00++11==11 11++11==00 11++00==11 11 Sustraendo

11 00 11 11 00 Diferencia

ARITMETICA BINARIA ( RESTA )ARITMETICA BINARIA ( RESTA )

•• Ejemplo : Restar 11101Ejemplo : Restar 1110122 -- 101111011122

Sistemas Digitales Sistemas Digitales 2424

ARITMETICA BINARIA ( MULTIPLICACION) ARITMETICA BINARIA ( MULTIPLICACION)

•• Ejemplo: Multiplicar 10111Ejemplo: Multiplicar 1011122 por 1010por 101022

11 00 11 11 11 MultiplicandoMultiplicando

XX 11 00 11 00 MultiplicadorMultiplicador

00 00 00 00 00

11 00 11 11 11

00 00 00 00 00

11 00 11 11 11

11 11 11 00 00 11 11 00 ProductoProducto

++

Sistemas Digitales Sistemas Digitales 2525

ARITMETICA BINARIA (MULTIPLICACION)ARITMETICA BINARIA (MULTIPLICACION)

•• Ejemplo: Multiplicar 101112 por 10102Ejemplo: Multiplicar 101112 por 10102

11 00 11 11 11 MultiplicandoMultiplicandoXX 11 00 11 00 MultiplicadorMultiplicador

00 00 00 00 00 Producto 1Producto 111 00 11 11 11 Producto 2Producto 211 00 11 11 11 00 Acumulativo 1Acumulativo 1

00 00 00 00 00 Producto 3Producto 300 11 00 11 11 11 00 Acumulativo 2Acumulativo 2

11 00 11 11 11 Producto 4Producto 411 11 11 00 00 11 11 00 ProductoProducto

++

++

++

Sistemas Digitales Sistemas Digitales 2626

ARITMETICA BINARIA (DIVISION)ARITMETICA BINARIA (DIVISION)

11 11 00 11 CuocienteCuociente

DivisorDivisor 11 00 00 11 11 11 11 00 11 11 11 DividendoDividendo

11 00 00 11

11 00 11 11

11 00 00 11

11 00 11 11

11 00 00 11

11 00 ResiduoResiduo

•• Ejemplo: Dividir 1110111Ejemplo: Dividir 111011122 entre 1001entre 100122

Sistemas Digitales Sistemas Digitales 2727

•• Ejemplo: Sumar 4163Ejemplo: Sumar 416388 + 7520+ 752088

ARITMETICA OCTAL (SUMA y RESTA)ARITMETICA OCTAL (SUMA y RESTA)

11 11 AcarreosAcarreos

44 11 66 33 SumandoSumando

++ 77 55 22 00 SumandoSumando

11 33 77 00 33 SumaSuma

•• Ejemplo: Sustraer 5173Ejemplo: Sustraer 517388 de 6204de 620488

11 1010 PrestadoPrestado

66 22 00 44 MinuendoMinuendo

-- 55 11 77 33 SustraendoSustraendo

11 00 11 11 DiferenciaDiferencia

Sistemas Digitales Sistemas Digitales 2828

ARITMETICA OCTAL (MultiplicaciARITMETICA OCTAL (Multiplicacióón)n)

•• Ejemplo: Multiplicar 4167Ejemplo: Multiplicar 416788 x 2503x 250388

44 11 66 77 MultiplicandoMultiplicando

xx 22 55 00 33 MultiplicadorMultiplicador

11 44 55 44 55 Productos ParcialesProductos Parciales

22 55 11 22 33 00

11 00 33 55 66

11 33 11 00 55 00 44 55 ProductoProducto

+

Sistemas Digitales Sistemas Digitales 2929

•• Ejemplo: Dividir 4163Ejemplo: Dividir 416388 : 25: 2588

ARITMETICA OCTAL (DivisiARITMETICA OCTAL (Divisióón)n)

11 44 77 CuocienteCuociente

DivisorDivisor 22 55 44 11 66 33 DividendoDividendo

-- 22 55

11 44 66

-- 11 22 44

22 22 33

-- 22 22 33

00 ResiduoResiduo

Sistemas Digitales Sistemas Digitales 3030

ARITMETICA HEXADECIMAL ( Suma)ARITMETICA HEXADECIMAL ( Suma)

•• Ejemplo: Sumar 2A58Ejemplo: Sumar 2A581616 + 71D0+ 71D01616

11 AcarreosAcarreos

22 AA 55 88 SumandoSumando

++ 77 11 DD 00 SumandoSumando

99 CC 22 88 SumaSuma

Sistemas Digitales Sistemas Digitales 3131

ARITMETICA HEXADECIMAL ( Resta)ARITMETICA HEXADECIMAL ( Resta)

•• Ejemplo: Sustraer 4A36Ejemplo: Sustraer 4A361616 de 9F1Bde 9F1B1616

EE 1111 PrestamosPrestamos

99 FF 11 BB MinuendoMinuendo

-- 44 AA 33 66 SustraendoSustraendo

55 44 EE 55 DiferenciaDiferencia

Sistemas Digitales Sistemas Digitales 3232

ARITMETICA HEXADECIMAL (MultiplicaciARITMETICA HEXADECIMAL (Multiplicacióón)n)

•• Ejemplo: Multiplicar 5C2AEjemplo: Multiplicar 5C2A1616 X 71D0X 71D016 16

5 5 CC 22 AA MultiplicandoMultiplicando

XX 77 11 DD 00 MultiplicadorMultiplicador

44 AA EE 22 22 00 ProductosProductosParcialesParciales

55 CC 22 AA

22 88 55 22 66

22 88 FF 99 66 CC 22 00 ProductoProducto

++

Sistemas Digitales Sistemas Digitales 3333

ARITMETICA HEXADECIMAL (DivisiARITMETICA HEXADECIMAL (Divisióón)n)

•• Ejemplo: Dividir 27FCAEjemplo: Dividir 27FCA16 16 : 3E: 3E1616

AA 55 11 CuocienteCuociente

DivisorDivisor 33 EE 22 77 FF CC AA DividendoDividendo

22 66 CC

11 33 CC

11 33 66

66 AA

33 EE

22 CC ResiduoResiduo

Sistemas Digitales Sistemas Digitales 3434

NUMEROS SIGNADOSNUMEROS SIGNADOS

Las computadoras construyen los signos Las computadoras construyen los signos ““++”” y y ““--”” mediante los bits mediante los bits ““00”” y y ““11”” respectivamente. respectivamente. Mediante un bir adicional, conocido como bit de Mediante un bir adicional, conocido como bit de signo es puesto como el bit msigno es puesto como el bit máás significativo de s significativo de una expresiuna expresióón binaria.n binaria.

•• Ejemplo:Ejemplo:

--13131010 = = 11,,1101110122

Bit de Bit de

SignoSignoSeparador Separador

de de

SignoSigno

MagnitudMagnitud

+2710 =0,11011

Sistemas Digitales Sistemas Digitales 3535

NUMEROS SIGNADOSNUMEROS SIGNADOS

RepresentaciRepresentacióón de los Complementosn de los Complementos

RepresentaciRepresentacióón en Complemento 1n en Complemento 1’’ss

La representaciLa representacióón en complemento 1n en complemento 1’’s de un s de un nnúúmero binario signado, se expresa cambiando el mero binario signado, se expresa cambiando el operando del noperando del núúmero por su complemento (mero por su complemento (0 por 1 0 por 1 y 1 por 0y 1 por 0) y manteniendo el bit de signo.) y manteniendo el bit de signo.

Por ejemplo:Por ejemplo:

Sea Sea N= +6N= +6 valor positivo, de representacivalor positivo, de representacióón binaria n binaria 0,01100,011022 , su complemento 1, su complemento 1’’a sera seráá 0,10010,100122 ..

Sea Sea N= N= --1717 valor negativo, de representacivalor negativo, de representacióón n binaria binaria 1,100011,1000122 , su complemento 1, su complemento 1’’s sers seráá 1,011101,0111022 . .

Sistemas Digitales Sistemas Digitales 3636

NUMEROS SIGNADOSNUMEROS SIGNADOS

RepresentaciRepresentacióón de los Complementosn de los Complementos

La primera ventaja de complementar nLa primera ventaja de complementar núúmeros, es meros, es que el proceso de la sustraccique el proceso de la sustraccióón se ejecuta por la n se ejecuta por la adiciadicióón de ellos. Asuma por ejemplo, que se desea n de ellos. Asuma por ejemplo, que se desea realizar la operacirealizar la operacióón siguiente:n siguiente:

(+17(+171010 ) ) –– (+12(+121010 ) = (+17) = (+171010 ) ) ++ ((--12121010 ))

Sea N=(+17Sea N=(+171010 ) = 0,10001) = 0,1000122 y N=(+12y N=(+121010 )= 0,01100)= 0,0110022 ,,

El complemento 1El complemento 1’’s de N(s de N(--12121010 )) = 1,10011= 1,1001122 , luego se , luego se tiene N=(+17tiene N=(+171010 ) ) ++ N=(N=(--12121010 ))

Sistemas Digitales Sistemas Digitales 3737

NUMEROS SIGNADOSNUMEROS SIGNADOS

RepresentaciRepresentacióón de los Complementosn de los Complementos

11 11 00 00 11 11 Bits de Bits de acarreoacarreo

0,0, 11 00 00 00 11 + 17+ 171010

++ 1,1, 11 00 00 11 11 -- 12121010

0,0, 00 00 11 00 00 + 4+ 41010

++ 11

0,0, 00 00 11 00 11 + 5+ 51010

Sistemas Digitales Sistemas Digitales 3838

NUMEROS SIGNADOSNUMEROS SIGNADOS

Rango de representaciRango de representacióón de los nn de los núúmeros signados.meros signados.

Combinando 8 bits (1 byte), se pueden representar Combinando 8 bits (1 byte), se pueden representar hasta 256 nhasta 256 núúmeros diferentes. Con dos bytes, meros diferentes. Con dos bytes, hasta 65.536 nhasta 65.536 núúmeros diferentes. La fmeros diferentes. La fóórmula para rmula para calcular el ncalcular el núúmero de combinaciones diferentes de mero de combinaciones diferentes de ““nn”” bits es:bits es:

NN°° total de combinaciones = 2total de combinaciones = 2nn

Para los nPara los núúmeros con signo en complemento a 2, el meros con signo en complemento a 2, el rango de valores para nrango de valores para núúmeros de meros de ““nn”” bits es:bits es:

--(2(2nn--11) a +(2) a +(2nn--11 --1)1)

habiendo en cada caso un bit de signo y habiendo en cada caso un bit de signo y nn--11 bits de bits de magnitud. Con 4 bits el rango es de magnitud. Con 4 bits el rango es de --8 a +78 a +7..

Sistemas Digitales Sistemas Digitales 3939

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

LA SUMALA SUMA

Cuando se suman dos nCuando se suman dos núúmeros binarios con signo meros binarios con signo se pueden producir cuatro casos:se pueden producir cuatro casos:

1.1. Ambos nAmbos núúmeros son positivos.meros son positivos.

2.2. El nEl núúmero positivo es mayor que el negativo en mero positivo es mayor que el negativo en valor absoluto.valor absoluto.

3.3. El nEl núúmero negativo es mayor que el positivo en mero negativo es mayor que el positivo en valor absoluto.valor absoluto.

4.4. Ambos nAmbos núúmeros son negativos.meros son negativos.

Sistemas Digitales Sistemas Digitales 4040

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

Caso 1: Caso 1:

0,0, 00 00 00 00 11 11 11 +7+7

++ 0,0, 00 00 00 00 11 00 00 +4+4

0,0, 00 00 00 11 00 11 11 +11+11

Cs+1 Cs

Si Si CCss+1+1 = = CCss se descarta Acarreose descarta Acarreo

Si Si CCss+1+1 = = CCss se considera Acarreo se considera Acarreo

y la coma se desplaza un bit a la y la coma se desplaza un bit a la izquierdaizquierda

Sistemas Digitales Sistemas Digitales 4141

Caso 2:Caso 2:

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

0,0, 00 00 00 11 11 11 11 +15+15

++ 1,1, 00 00 00 00 11 11 00 --66

0,0, 00 00 00 11 11 11 11 +15+15

++ 1,1, 11 11 11 11 00 11 00 --66

0,0, 00 00 00 11 00 00 11 +9+9

1 1

Compl. 2Compl. 2

Sistemas Digitales Sistemas Digitales 4242

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

Caso 3:Caso 3:0,0, 00 00 11 00 00 00 00 +16+16

++ 1,1, 00 00 11 11 00 00 00 --2424

0,0, 00 00 11 00 00 00 00 +16+16

++ 1,1, 11 11 00 11 00 00 00 --2424

1,1, 11 11 11 11 00 00 00 --88

0 0

Compl. 2Compl. 2

Sistemas Digitales Sistemas Digitales 4343

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

Caso 4:Caso 4:1,1, 00 00 00 00 11 00 11 --55

++ 1,1, 00 00 00 11 00 00 11 --99

1,1, 11 11 11 11 00 11 11 --55

++ 1,1, 11 11 11 00 11 11 11 --99

1,1, 11 11 11 00 00 11 00 --1414

1 1

Compl. 2Compl. 2

Compl. 2Compl. 2

Sistemas Digitales Sistemas Digitales 4444

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

LA RESTALA RESTA

NN11 MINUENDOMINUENDO

NN22 SUSTRAENDOSUSTRAENDO

++NN33 DIFERENCIADIFERENCIA-

Sistemas Digitales Sistemas Digitales 4545

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

LA RESTALA RESTA

Se deben aplicar dos reglas en la sustracciSe deben aplicar dos reglas en la sustraccióón en n en complemento 2complemento 2’’s :s :

Regla IRegla I

Al sacar el complemento 2Al sacar el complemento 2’’s del sustraendo se s del sustraendo se debe considerar lo siguiente:debe considerar lo siguiente:

1.1. Si es un nSi es un núúmero mero PositivoPositivo ccáámbielo a un nmbielo a un núúmero mero negativo en complemento 2negativo en complemento 2’’s.s.

2.2. Si es un nSi es un núúmero mero NegativoNegativo cambie la magnitud cambie la magnitud del ndel núúmero a uno positivo, es decir, smero a uno positivo, es decir, sóólo lo complementa el signo.complementa el signo.

Sistemas Digitales Sistemas Digitales 4646

Regla IIRegla II

DespuDespuéés de sacar el complemento 2s de sacar el complemento 2’’s del s del sustraendo ssustraendo súúmelo al minuendo y obtenga la melo al minuendo y obtenga la diferencia.diferencia.

El bit correspondiente al signo de la diferencia El bit correspondiente al signo de la diferencia determina si determina si ééste es positivo o negativo y ste es positivo o negativo y

desde desde luego si se encuentra en la forma luego si se encuentra en la forma binaria correcta binaria correcta o en complemento 2o en complemento 2’’s.s.

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

LA RESTALA RESTA

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

LA RESTALA RESTAEjemplos :Ejemplos :

0,0, 11 00 00 11 +9+9

-- 11,, 11 11 00 00 +4+4

0,0, 00 11 00 11 +5+5

1 1

C. 2’s

Sistemas Digitales Sistemas Digitales 4747

0,0, 11 00 00 11 +9+9

-- 0,0, 00 11 00 00 +4+4

+5+5

Sistemas Digitales Sistemas Digitales 4848

0,0, 11 00 00 11 +9+9

-- 00,, 00 11 00 00 --44

0,0, 11 11 00 11 +13+13

0 0

C. signo

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

LA RESTALA RESTAEjemplos :Ejemplos :

0,0, 11 00 00 11 +9+9

-- 1,1, 00 11 00 00 --44

+13+13

Sistemas Digitales Sistemas Digitales 4949

1,1, 00 11 11 11 --99

-- 11,, 11 11 00 00+4+4

1,1, 00 00 11 11 --1313

1 1

C. Signo

y 2’s

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

LA RESTALA RESTAEjemplos :Ejemplos :

1,1, 11 00 00 11 --99

-- 0,0, 00 11 00 00 +4+4

--1313

C. 2’s

Sistemas Digitales Sistemas Digitales 5050

0 0

C. Signo

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

LA RESTALA RESTAEjemplos :Ejemplos :

1,1, 11 00 00 11 --99

-- 1,1, 00 11 00 00 --44

--55

C. 2’s1,1, 00 11 11 11 --99

-- 00,, 00 11 00 00 --44

1,1, 11 00 11 11 --55

Sistemas Digitales Sistemas Digitales 5151

0 0

C. Signo

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

LA RESTALA RESTAEjemplos :Ejemplos :

0,0, 00 11 00 00 +4+4

-- 1,1, 00 11 00 00 --44

+8+8

0,0, 00 11 00 00 +4+4

-- 00,, 00 11 00 00 --44

0,0, 11 00 00 00 +8+8

Sistemas Digitales Sistemas Digitales 5252

ARITMETICA DE NUMEROS EN CODIGO ARITMETICA DE NUMEROS EN CODIGO BCDBCD

LA SUMALA SUMA

BCD es un cBCD es un cóódigo numdigo numéérico y que puede utilizarse en rico y que puede utilizarse en operaciones aritmoperaciones aritmééticas. La suma es la mticas. La suma es la máás s importante de estas operaciones, ya que las otras importante de estas operaciones, ya que las otras tres operaciones (sustraccitres operaciones (sustraccióón, multiplicacin, multiplicacióón y n y divisidivisióón) se pueden llevar a cabo utilizando la suma. n) se pueden llevar a cabo utilizando la suma. A continuaciA continuacióón, se explicarn, se explicaráá como se suman dos como se suman dos nnúúmeros en cmeros en cóódigo BCD.digo BCD.

Sistemas Digitales Sistemas Digitales 5353

ARITMETICA DE NUMEROS EN CODIGO ARITMETICA DE NUMEROS EN CODIGO BCDBCD

LA SUMALA SUMA

Paso 1.Paso 1. Sumar los dos nSumar los dos núúmeros BCD utilizando las meros BCD utilizando las reglas de la suma binaria.reglas de la suma binaria.

Paso 2.Paso 2. Si una suma de 4 bits es igual o menor que Si una suma de 4 bits es igual o menor que 9, 9, es un nes un núúmero BCD vmero BCD váálido.lido.

Paso 3.Paso 3. Si una suma de 4 bits es mayor que 9, o si Si una suma de 4 bits es mayor que 9, o si genera acarreos en el grupo de 4 bits, el genera acarreos en el grupo de 4 bits, el resultado no es validoresultado no es valido. En este caso, se . En este caso, se suma 6 (0110)suma 6 (0110) al grupo de 4 bits para saltar al grupo de 4 bits para saltar asasíí los seis estados no vlos seis estados no váálidos y pasar al lidos y pasar al ccóódigo 8421. Si se digo 8421. Si se genera un acarreogenera un acarreo al al sumar 6, sumar 6, ééste se suma al grupo de 4 bits ste se suma al grupo de 4 bits siguiente.siguiente.

Sistemas Digitales Sistemas Digitales 5454

ARITMETICA DE NUMEROS EN CODIGO ARITMETICA DE NUMEROS EN CODIGO BCDBCD

LA SUMALA SUMA

11 00 00 11 99

++ 00 11 00 00 ++ 44

11 11 00 11 BCD no vBCD no váálido > 9lido > 9 1313

++ 00 11 11 00 Se Suma 6Se Suma 6

00 00 00 11 00 00 11 11 BCD vBCD váálidolido

11 33

Sistemas Digitales Sistemas Digitales 5555

ARITMETICA DE NUMEROS EN CODIGO ARITMETICA DE NUMEROS EN CODIGO BCDBCD

LA SUMALA SUMA

11 00 00 11 99

++ 11 00 00 11 ++ 99

11 00 00 11 00 No vNo váálido por acarreolido por acarreo 1818

++ 00 11 11 00 Se Suma 6Se Suma 6

00 00 00 11 11 00 00 00 BCD vBCD váálidolido

11 88

Sistemas Digitales Sistemas Digitales 5656

ARITMETICA DE NUMEROS EN CODIGO ARITMETICA DE NUMEROS EN CODIGO BCDBCD

LA SUMALA SUMA

00 00 00 11 00 11 11 00 1616

++ 00 00 00 11 00 11 00 11 ++ 1515

00 00 11 00 11 00 11 11BCD no vBCD no váálido > 9lido > 9

BCD vBCD váálidolido 3131

+ acarreo+ acarreo 11 ++ 00 11 11 00 Se Suma 6Se Suma 6

00 00 11 11 00 00 00 11 BCDBCD’’s vs váálidoslidos

33 11

Sistemas Digitales Sistemas Digitales 5757

ARITMETICA DE NUMEROS EN CODIGO ARITMETICA DE NUMEROS EN CODIGO BCDBCD

LA SUMALA SUMA

00 11 11 00 00 11 11 11 6767

++ 00 11 00 11 00 00 11 11 ++ 5353

11 00 11 11 11 00 11 00 BCDBCD’’s no vs no váálidos > 9lidos > 9 120120

++ 11 00 11 11 00 00 11 11 00 Se Suma 6Se Suma 6

00 00 00 11 00 00 11 00 00 00 00 00 BCDBCD’’s Vs Váálidoslidos

11 22 00

Sistemas Digitales Sistemas Digitales 5858

ARITMETICA DE NUMEROS EN CODIGO ARITMETICA DE NUMEROS EN CODIGO BCDBCD

LA RESTALA RESTA

00 11 00 00 00 11 00 11 4545

-- 00 00 11 11 00 11 00 11 -- 3434

00 00 00 11 00 00 00 11 BCDBCD’’s vs váálidos lidos 1111

11 11

Sistemas Digitales Sistemas Digitales 5959

ARITMETICA DE NUMEROS EN CODIGO ARITMETICA DE NUMEROS EN CODIGO BCDBCD

LA RESTALA RESTA

00 00 11 00 11 00 00 00 2828

-- 00 00 00 11 11 00 00 11 -- 1919

00 00 00 00 11 11 11 11BCD no vBCD no váálidolido

BCD vBCD váálidolido 99

-- 00 11 11 00 Resta 6Resta 6

11 00 00 11

99

Sistemas Digitales Sistemas Digitales 6060

CODIGOS DIGITALESCODIGOS DIGITALES

Existen muchos cExisten muchos cóódigos especializados que se usan digos especializados que se usan en sistemas digitales, tales como el en sistemas digitales, tales como el ccóódigo digo GrayGray, el , el ccóódigo de exceso 3digo de exceso 3 y el y el ccóódigo ASCIIdigo ASCII..

El El ccóódigo digo GrayGray es un ces un cóódigo sin pesos y no digo sin pesos y no aritmaritméético; es decir, no existen pesos espectico; es decir, no existen pesos especííficos ficos asignados a la posiciasignados a la posicióón de los bits. La caractern de los bits. La caracteríística stica mmáás importante del cs importante del cóódigo digo GrayGray es que es que ssóólo varlo varíía a un bit de un cun bit de un cóódigo al siguientedigo al siguiente..

Sistemas Digitales Sistemas Digitales 6161

CODIGO DIGITAL GRAYCODIGO DIGITAL GRAYDECIMALDECIMAL BINARIOBINARIO GRAYGRAY

00 00000000 00000000

11 00010001 00010001

22 00100010 00110011

33 00110011 00100010

44 01000100 01100110

55 01010101 01110111

66 01100110 01010101

77 01110111 01000100

88 10001000 11001100

99 10011001 11011101

1010 10101010 11111111

1111 10111011 11101110

1212 11001100 10101010

1313 11011101 10111011

1414 11101110 10011001

1515 11111111 10001000

Sistemas Digitales Sistemas Digitales 6262

CODIGO DIGITAL GRAYCODIGO DIGITAL GRAY

1.1. Convertir a cConvertir a cóódigo digo GrayGray, el n, el núúmero binario mero binario 11000110.11000110.

2.2. Convertir a binario el cConvertir a binario el cóódigo digo GrayGray 10101111.10101111.

SoluciSolucióónn

1.1. Binario a cBinario a cóódigo digo GrayGray::

11 ++ 11 ++ 00 ++ 00 ++ 00 ++ 11 ++ 11 ++ 0

11 00 11 00 00 11 00 1

ObservaciObservacióónn : : no tener en cuenta el acarreono tener en cuenta el acarreo

Sistemas Digitales Sistemas Digitales 6363

CODIGO DIGITAL GRAYCODIGO DIGITAL GRAY

2.2. CCóódigo digo GrayGray a Binarioa Binario::

11 00 11 00 11 11 11 1

11 11 00 00 11 00 11 0

Sumar en esta direcciSumar en esta direccióón sin acarreon sin acarreo

Sistemas Digitales Sistemas Digitales 6464

CODIGO DIGITAL EXCESO 3CODIGO DIGITAL EXCESO 3Es un cEs un cóódigo digital relacionado con el BCD, y se digo digital relacionado con el BCD, y se deriva de deriva de éél sumando 3 a cada dl sumando 3 a cada díígito decimal y gito decimal y convirtiendo el resultado de esta suma en nconvirtiendo el resultado de esta suma en núúmero mero binario de 4 bits. Es un cbinario de 4 bits. Es un cóódigo sin ningdigo sin ningúún peso.n peso.

DECIMALDECIMAL BCDBCD EXCESOEXCESO--33

00 00000000 00110011

11 00010001 01000100

22 00100010 01010101

33 00110011 01100110

44 01000100 01110111

55 01010101 10001000

66 01100110 10011001

77 01110111 10101010

88 10001000 10111011

99 10011001 11001100

Sistemas Digitales Sistemas Digitales 6565

CODIGO DIGITAL EXCESO 3CODIGO DIGITAL EXCESO 3

Ejemplo:Ejemplo:

•• Convertir a cConvertir a cóódigo exceso 3 el ndigo exceso 3 el núúmero decimal 430mero decimal 430

44 33 00

++ 33 ++ 33 ++ 33

77 66 33

01110111 01100110 00110011Exceso-3

Sistemas Digitales Sistemas Digitales 6666

ASCIIASCII

El El AmericanAmerican EstEstáándar ndar CodeCode forfor InformationInformation InterchangeInterchange ((ASCIIASCII, c, cóódigo estdigo estáándar americano ndar americano para el intercambio de informacipara el intercambio de informacióón), es un cn), es un cóódigo digo alfanumalfanuméérico universalmente aceptado, que se usa rico universalmente aceptado, que se usa en la mayoren la mayoríía de los computadores y otros equipos a de los computadores y otros equipos electrelectróónicos (teclados).nicos (teclados).

Dispone de Dispone de 128128 caracteres que se representan por caracteres que se representan por ccóódigos binarios de 7 bitsdigos binarios de 7 bits. Letras , n. Letras , núúmeros y meros y ssíímbolos.mbolos.

Ejemplos:Ejemplos:CarCarááctercter BinarioBinario HexadecHexadec..

PP 10100001010000 50501616

== 01111010111101 3D3D1616

Sistemas Digitales Sistemas Digitales 6767

MMéétodo de paridad para la deteccitodo de paridad para la deteccióón de erroresn de errores

Mucho sistemas emplean Mucho sistemas emplean un bit de paridadun bit de paridad como como medio para la medio para la deteccideteccióón de erroresn de errores de bit.de bit.

Cualquier Cualquier grupo de bitsgrupo de bits contiene un contiene un nnúúmero par o mero par o impar de 1s.impar de 1s.

Un Un bit de paridadbit de paridad se ase aññade al grupo de bits para ade al grupo de bits para hacer que el nhacer que el núúmero total de 1s en el grupo sea mero total de 1s en el grupo sea siempre siempre parpar o siempre o siempre imparimpar..

Un Un bit de paridad parbit de paridad par hace que el nhace que el núúmero total de mero total de 1s en el grupo sea 1s en el grupo sea parpar y un y un bit de paridad imparbit de paridad impar hace que el nhace que el núúmero total de 1s en el grupo sea mero total de 1s en el grupo sea imparimpar..

Un determinado sistema puede funcionar con Un determinado sistema puede funcionar con paridad paridad parpar o o imparimpar, pero , pero no con ambasno con ambas..

Sistemas Digitales Sistemas Digitales 6868

MMéétodo de paridad para la deteccitodo de paridad para la deteccióón de erroresn de errores

Por ejemplo, si un sistema trabaja con Por ejemplo, si un sistema trabaja con paridad parparidad par, , una comprobaciuna comprobacióón que se realice en cada grupo de n que se realice en cada grupo de bits recibidos tiene que asegurar que el bits recibidos tiene que asegurar que el nnúúmero mero total de 1s en ese grupo es partotal de 1s en ese grupo es par. Si hay un . Si hay un nnúúmero mero total impar de 1stotal impar de 1s, quiere decir que se ha producido , quiere decir que se ha producido un un errorerror..

El El bit de paridadbit de paridad se puede ase puede aññadir al principio o al adir al principio o al final del cfinal del cóódigo, dependiendo del disedigo, dependiendo del diseñño del o de l sistema.sistema.

Observe que el nObserve que el núúmero total de 1s mero total de 1s incluyendo el bitincluyendo el bit de paridadde paridad es siempre es siempre parpar para paridad parpara paridad par, y , y siempre es siempre es impar para paridad impar.impar para paridad impar.

Sistemas Digitales Sistemas Digitales 6969

MMéétodo de paridad para la deteccitodo de paridad para la deteccióón de erroresn de errores

DetecciDeteccióón de un errorn de un error. Un bit de paridad facilita la . Un bit de paridad facilita la deteccideteccióón de un n de un úúnico error de bit, pero no puede nico error de bit, pero no puede detectar dos errores dentro de un grupo.detectar dos errores dentro de un grupo.

EjemploEjemplo: Transmitir el c: Transmitir el cóódigo BCD 0101 con digo BCD 0101 con paridad paridad parpar..

Bit de paridad parBit de paridad par0001010101

CCóódigo BCDdigo BCD

Sistemas Digitales Sistemas Digitales 7070

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

Este cEste cóódigo no sdigo no sóólo permite detectar un bit lo permite detectar un bit errerróóneo, sino tambineo, sino tambiéén identifica el bit errn identifica el bit erróóneo de neo de forma que pueda ser corregido.forma que pueda ser corregido.

El cEl cóódigo utiliza un ndigo utiliza un núúmero de bits de paridad mero de bits de paridad (dependiendo del n(dependiendo del núúmero de bits de informacimero de bits de informacióón), n), localizados en determinadas posiciones del grupo localizados en determinadas posiciones del grupo del cdel cóódigo.digo.

La detecciLa deteccióón del cn del cóódigo que aqudigo que aquíí se presenta se presenta corresponde a una corresponde a una úúnica correccinica correccióón de error.n de error.

Sistemas Digitales Sistemas Digitales 7171

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

NNúúmeros de Paridadmeros de Paridad

Si al nSi al núúmero de bits de informacimero de bits de informacióón lo designamos n lo designamos como como mm, entonces el n, entonces el núúmero de bits de paridad, mero de bits de paridad, pp, , se determina mediante la siguiente relacise determina mediante la siguiente relacióón:n:

22pp>> mm + + pp + 1+ 1

Por ejemplo, si se tiene cuatros bits de informaciPor ejemplo, si se tiene cuatros bits de informacióón n ((mm=4), =4), pp se calcula mediante el mse calcula mediante el méétodo de prueba y todo de prueba y error. Sea error. Sea pp=2, entonces=2, entonces

22pp >>=2=222=4 y =4 y mm + + pp + 1 = + 1 = 4 + 2 + 14 + 2 + 1 == 77

Puesto quePuesto que pp=2=2 no satisface la ecuacino satisface la ecuacióón, se busca n, se busca probar conprobar con pp=3=3..

Sistemas Digitales Sistemas Digitales 7272

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

Sea Sea pp=3, entonces:=3, entonces:

22pp=2=233=8 y =8 y mm + + pp + 1 = + 1 = 4 + 3 + 14 + 3 + 1 = 8= 8

este valor de este valor de pp satisface la ecuacisatisface la ecuacióón, de manera que n, de manera que se necesitan se necesitan tres bits de paridadtres bits de paridad para proporcionar para proporcionar correccicorreccióón simple de errores para n simple de errores para cuatro bits de cuatro bits de informaciinformacióón.n.

Conviene fijarse en que la detecciConviene fijarse en que la deteccióón y correccin y correccióón de n de errores se proporciona para errores se proporciona para todostodos los bits, tanto de los bits, tanto de paridad como de informaciparidad como de informacióón, dentro de un grupo de n, dentro de un grupo de ccóódigo.digo.

Sistemas Digitales Sistemas Digitales 7373

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

SituaciSituacióón de los bits de paridad dentro del cn de los bits de paridad dentro del cóódigodigo

Se debe tener en cuenta que en esta expresiSe debe tener en cuenta que en esta expresióón, el n, el ccóódigo se compone de digo se compone de cuatro bits de informacicuatro bits de informacióónn yy de tres bits de paridadde tres bits de paridad..

El bit mEl bit máás a la izquierda se designa como bit 1, el s a la izquierda se designa como bit 1, el siguiente bit 2, y assiguiente bit 2, y asíí sucesivamente del mismo modo:sucesivamente del mismo modo:

bit 1, bit 2, bit 3, bit 4, bit 5, bit 6 , bit 7bit 1, bit 2, bit 3, bit 4, bit 5, bit 6 , bit 7

Sistemas Digitales Sistemas Digitales 7474

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

Los Los bits de paridadbits de paridad se sitse sitúúan en las an en las posicionesposiciones cuya cuya numeracinumeracióón corresponde a las n corresponde a las potencias de dospotencias de dos en en sentido ascendente (sentido ascendente (1,2,4,8,1,2,4,8,……....), tal como se indica:), tal como se indica:

PP11 ,, PP22 ,, MM11 ,, PP33 ,, MM22 ,, MM33 ,, MM44

El sEl síímbolo mbolo PPnn designa un determinado designa un determinado bit de paridadbit de paridad y y MMnn designa un determinado designa un determinado bit de informacibit de informacióónn..

Sistemas Digitales Sistemas Digitales 7575

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

AsignaciAsignacióón de valores a los bits de paridadn de valores a los bits de paridad

1.1. Se tiene que asignar un valor Se tiene que asignar un valor 11 óó 00 a cada a cada bit de bit de paridadparidad..

2.2. Dado que cada Dado que cada bit de paridadbit de paridad proporciona una proporciona una comprobacicomprobacióón de otros bits del cn de otros bits del cóódigo total, se digo total, se tiene que conocer el valor de estos otros bits tiene que conocer el valor de estos otros bits para poder asignarle un valor.para poder asignarle un valor.

3.3. Para encontrar los valores del bit, primero se Para encontrar los valores del bit, primero se tiene que numerar cada posicitiene que numerar cada posicióón de bit en forma n de bit en forma de nde núúmero binariomero binario..

4.4. A continuaciA continuacióón, se indica la situacin, se indica la situacióón de los bits n de los bits de de paridadparidad y de y de informaciinformacióónn..

Sistemas Digitales Sistemas Digitales 7676

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

5.5. Tenga en cuenta que el Tenga en cuenta que el nnúúmero binario que indica la posicimero binario que indica la posicióón n deldel bit de paridadbit de paridad PP11 contiene un contiene un 11 como el dcomo el díígito mgito máás a la s a la derecha. derecha. Este bit de paridad comprueba todas las posiciones Este bit de paridad comprueba todas las posiciones de bit, de bit, incluincluíídada la suya propia, que tiene como valor la suya propia, que tiene como valor ““11”” en la en la misma posicimisma posicióón que los nn que los núúmeros binarios que indican la meros binarios que indican la posiciposicióónn. Por consiguiente, el bit de paridad . Por consiguiente, el bit de paridad PP11 , comprueba , comprueba las posiciones de bit las posiciones de bit 1, 3, 51, 3, 5 y y 77..

DesignaciDesignacióón de bitn de bit PP11 PP22 MM11 PP33 MM22 MM33 MM44

PosiciPosicióón de bitn de bit 11 22 33 44 55 66 77NNúúmero binario de posicimero binario de posicióónn 001001 010010 011011 100100 101101 110110 111111

Bits de informaciBits de informacióónn ((MMnn ))Bits de paridadBits de paridad ((PPnn ))

Tabla de posiciones de los bits para cTabla de posiciones de los bits para cóódigo de correccidigo de correccióón de errores n de errores de 7 bitsde 7 bits

Sistemas Digitales Sistemas Digitales 7777

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

6.6. El nEl núúmero binario de posicimero binario de posicióón para el n para el bit de bit de paridadparidad PP22 tiene un tiene un ““11”” en el bit del medio. en el bit del medio. Comprueba todas las posiciones de bit, incluComprueba todas las posiciones de bit, incluíída la da la suya propia, que tienen un suya propia, que tienen un ““11”” en la misma en la misma posiciposicióón. Por lo tanto, el n. Por lo tanto, el bit de paridadbit de paridad PP22 comprueba las posiciones de bit comprueba las posiciones de bit 2, 3, 6 y 72, 3, 6 y 7..

7.7. Bajo la misma premisa, el Bajo la misma premisa, el bit de paridadbit de paridad PP33 , , comprobarcomprobaráá las posiciones de bit las posiciones de bit 4, 5, 6 y 74, 5, 6 y 7..

8.8. En cada caso, al En cada caso, al bit de paridadbit de paridad se le asigna un se le asigna un valor tal, que haga que el nvalor tal, que haga que el núúmero de mero de unosunos del del conjunto de bits que comprueba, sea conjunto de bits que comprueba, sea par o imparpar o impar, , de acuerdo a lo que especificado.de acuerdo a lo que especificado.

Sistemas Digitales Sistemas Digitales 7878

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

EjemploEjemplo::

Determinar el cDeterminar el cóódigo de correccidigo de correccióón de error para el n de error para el nnúúmero de cmero de cóódigo digo BCD 1001 (BCD 1001 (bits de informacibits de informacióónn)), , utilizando utilizando paridad parparidad par..

SoluciSolucióónn::

Paso 1Paso 1.. Encontrar el nEncontrar el núúmero de bits de paridad mero de bits de paridad requeridos. Sea requeridos. Sea p=3p=3, entonces, entonces

22pp = 2= 233 = 8= 8 y y mm ++ pp + 1 = 8+ 1 = 8

tres bits de paridad son suficientes.tres bits de paridad son suficientes.

Bits totales del cBits totales del cóódigo = digo = 44 + + 33 = = 77

Sistemas Digitales Sistemas Digitales 7979

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

Paso 2Paso 2.. Construir una Construir una tabla de posicionestabla de posiciones de los bits de los bits para un cpara un cóódigo de correccidigo de correccióón de errores de n de errores de 7 7 bitsbits.. Recuerde que el nRecuerde que el núúmero es el BCD 1001 mero es el BCD 1001 ((bits de informacibits de informacióónn))

DesignaciDesignacióón de bitn de bit PP11 PP22 MM11 PP33 MM22 MM33 MM44

PosiciPosicióón de bitn de bit 11 22 33 44 55 66 77NNúúmero binario de posicimero binario de posicióónn 001001 010010 011011 100100 101101 110110 111111

Bits de informaciBits de informacióónn ((MMnn )) 11 00 00 11Bits de paridadBits de paridad ((PPnn ))

BCD 1001BCD 1001

Sistemas Digitales Sistemas Digitales 8080

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

Paso 3Paso 3.. Determinar los bits de paridad de la siguiente Determinar los bits de paridad de la siguiente manera:manera:

El bit El bit PP11 comprueba las posiciones comprueba las posiciones 1, 3, 5 y 71, 3, 5 y 7 y tiene que ser y tiene que ser 00 para que haya un para que haya un nnúúmero mero par de unospar de unos (2) en este grupo.(2) en este grupo.

El bit El bit PP22 comprueba las posiciones comprueba las posiciones 2, 3, 6 y 72, 3, 6 y 7 y tiene que ser y tiene que ser 00 para que haya un para que haya un nnúúmero mero par de unospar de unos (2) en este grupo.(2) en este grupo.

El bit El bit PP33 comprueba las posiciones comprueba las posiciones 4, 5, 6 y 74, 5, 6 y 7 y tiene que ser y tiene que ser 11 para que haya un para que haya un nnúúmero mero par de unospar de unos (2) en este grupo.(2) en este grupo.

Sistemas Digitales Sistemas Digitales 8181

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

DesignaciDesignacióón de bitn de bit PP11 PP22 MM11 PP33 MM22 MM33 MM44

PosiciPosicióón de bitn de bit 11 22 33 44 55 66 77NNúúmero binario de posicimero binario de posicióónn 001001 010010 011011 100100 101101 110110 111111

Bits de informaciBits de informacióónn ((MMnn )) 11 00 00 11Bits de paridadBits de paridad ((PPnn )) 00 00 11

Paso 4Paso 4.. Estos bits se introducen en la tabla.Estos bits se introducen en la tabla.

El cEl cóódigo combinado resultante esdigo combinado resultante es 00001111001001

Sistemas Digitales Sistemas Digitales 8282

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

DetecciDeteccióón y correccin y correccióón de un errorn de un error

Ahora que ya se tiene un mAhora que ya se tiene un méétodo de construccitodo de construccióón de un n de un ccóódigo de errores, digo de errores, ¿¿CCóómo se puede aplicar para localizar el mo se puede aplicar para localizar el error?error?

1.1. Cada Cada bit de paridadbit de paridad, junto con su correspondiente grupo de , junto con su correspondiente grupo de bits, tiene que ser comprobado con la paridad adecuada.bits, tiene que ser comprobado con la paridad adecuada.

2.2. Si hay tres Si hay tres bits de paridadbits de paridad en una palabra de cen una palabra de cóódigo, digo, entonces hay que realizar tres comprobaciones de paridad.entonces hay que realizar tres comprobaciones de paridad.

3.3. Cada comprobaciCada comprobacióón de paridad nos darn de paridad nos daráá un resultado un resultado correcto o incorrectocorrecto o incorrecto..

4.4. El resultado total de las comprobaciones de paridad indican El resultado total de las comprobaciones de paridad indican el bit, si es que lo hay, que es el bit, si es que lo hay, que es errerróóneoneo..

Sistemas Digitales Sistemas Digitales 8383

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

Los pasos a seguir son entonces los siguientes:Los pasos a seguir son entonces los siguientes:

Paso 1Paso 1.. Comenzar con el grupo que compruebaComenzar con el grupo que comprueba PP11 ..

Paso 2Paso 2.. Comprobar que el grupo tenga la paridad adecuada. Comprobar que el grupo tenga la paridad adecuada. Un Un 00 representa que la comprobacirepresenta que la comprobacióón de n de paridad es paridad es correctacorrecta y un y un 11 representa una representa una mala comprobacimala comprobacióónn..

Paso 3Paso 3.. Repetir el paso 2 para cada grupo de paridad.Repetir el paso 2 para cada grupo de paridad.

Paso 4Paso 4.. El El nnúúmero binariomero binario formado a partir de los resultados formado a partir de los resultados de todas las comprobaciones de paridad de todas las comprobaciones de paridad determina la determina la posiciposicióón del bit de cn del bit de cóódigo que contiene un errordigo que contiene un error. Este . Este es el ces el cóódigo de posicidigo de posicióón de errorn de error. . La primera La primera comprobacicomprobacióón de paridad genera el bit menos n de paridad genera el bit menos significativosignificativo. . Si todas las comprobaciones son Si todas las comprobaciones son correctas, no hay errorcorrectas, no hay error..

Sistemas Digitales Sistemas Digitales 8484

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

EjemploEjemplo ::

Suponer que la palabra de cSuponer que la palabra de cóódigo del ejemplo anterior digo del ejemplo anterior ((00110010011001) es transmitida y que recibimos ) es transmitida y que recibimos 00100010010001. El receptor . El receptor no no ““conoceconoce”” cucuáál fue la palabra transmitida y tiene que buscar l fue la palabra transmitida y tiene que buscar las paridades adecuadas para determinar si el clas paridades adecuadas para determinar si el cóódigo es digo es correcto. Encontrar cualquier error que haya habido en la correcto. Encontrar cualquier error que haya habido en la transmisitransmisióón si utilizamos n si utilizamos paridad parparidad par..

SoluciSolucióónn ::

Construimos una Construimos una tabla de posicitabla de posicióón de bitn de bit::

DesignaciDesignacióón de bitn de bit PP11 PP22 MM11 PP33 MM22 MM33 MM44

PosiciPosicióón de bitn de bit 11 22 33 44 55 66 77NNúúmero binario de posicimero binario de posicióónn 001001 010010 011011 100100 101101 110110 111111

CCóódigo recibidodigo recibido 00 00 11 00 00 00 11

Sistemas Digitales Sistemas Digitales 8585

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

Primera comprobaciPrimera comprobacióón de paridad:n de paridad:

El bit El bit PP11 comprueba las posiciones comprueba las posiciones 1, 3, 5 y 71, 3, 5 y 7..

Hay dos unos en este grupoHay dos unos en este grupo

ComprobaciComprobacióón de paridadn de paridad correctacorrecta 0 (0 (LSBLSB))

Segunda comprobaciSegunda comprobacióón de paridad:n de paridad:

El bit El bit PP22 comprueba las posiciones comprueba las posiciones 2, 3, 6 y 72, 3, 6 y 7..

Hay dos unos en este grupoHay dos unos en este grupo

ComprobaciComprobacióón de paridadn de paridad correctacorrecta 00

Tercera comprobaciTercera comprobacióón de paridad:n de paridad:

El bit El bit PP33 comprueba las posiciones comprueba las posiciones 4, 5, 6 y 74, 5, 6 y 7..

Hay un uno en este grupoHay un uno en este grupo

ComprobaciComprobacióón de paridadn de paridad incorrectaincorrecta 1 (1 (MSBMSB))

Sistemas Digitales Sistemas Digitales 8686

CCóódigo HAMMING de Correccidigo HAMMING de Correccióón de Erroresn de Errores

ResultadoResultado::

El cEl cóódigo de posicidigo de posicióón de error es n de error es 100100 (cuatro (cuatro binario). binario).

Esto indica que el bit de la Esto indica que el bit de la posiciposicióón 4n 4 es erres erróóneo, y neo, y que es un que es un 00 cuando debercuando deberíía ser un a ser un 11. .

El cEl cóódigo corregido es digo corregido es 00110010011001, que concuerda con , que concuerda con el cel cóódigo transmitido.digo transmitido.