86
Sistemas Digitales Sistemas Digitales 1 SISTEMAS NUMERICOS SISTEMAS NUMERICOS 2009 2009

Sistemas Numéricos y Códigos Digitales

Embed Size (px)

DESCRIPTION

Sistemas numéricos binarios, octales y hexadecimales. Operaciones aritméticas. Codigo BCD y Hamming

Citation preview

Page 1: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 11

SISTEMAS NUMERICOSSISTEMAS NUMERICOS

20092009

Page 2: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 22

SISTEMAS NUMERICOSSISTEMAS NUMERICOS

Conjunto ordenado de símbolos llamados “dígitos”, Conjunto ordenado de símbolos llamados “dígitos”, con relaciones definidas para operaciones de :con relaciones definidas para operaciones de :

Suma , Resta, Multiplicación y DivisiónSuma , Resta, Multiplicación y División

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

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

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

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

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

A,B,C,D,E,FA,B,C,D,E,F

Conceptos de distributividad, conmutatividad y asociatividad se usan en todos los sistemas

Page 3: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 33

NOTACION POSICIONALNOTACION POSICIONAL

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

N= (aN= (an-1n-1….a….a11aa00aa-1-1aa-2-2….a….a-m-m))rr

Donde:Donde:

.= punto decimal.= punto decimal

r= base o decimalr= base o decimal

n= número de dígitos enteros positivosn= número de dígitos enteros positivos

m= número de dígitos enteros negativosm= número de dígitos enteros negativos

aan-1n-1= dígito más significativo (MSD)= dígito más significativo (MSD)

aa-m-m= dígito menos significativo (LSD)= dí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

Page 4: Sistemas Numéricos y Códigos Digitales

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-1-1+5*10+5*10-2-2

(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-1-1+1*2+1*2-2-2

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

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

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

Page 5: Sistemas Numéricos y Códigos Digitales

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 comúnuso común

Page 6: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 66

Conversión de un sistema de Base “ r ” a Base “10”Conversión de un sistema de Base “ r ” a Base “10”

Utilizando la notación polinomial:Utilizando la notació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)(AF3.15)1616 = 10*16 = 10*1622+15*16+15*1611+3*16+3*1600+1*16+1*16-1-1

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

Page 7: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 77

Conversión de un sistema de Base “ r ” a Base “10”Conversión de un sistema de Base “ r ” a Base “10”

Utilizando la noción de los pesos:Utilizando la noció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 (bDigito (bii)) : b: b33 b b22 b b11 b b00

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

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

Page 8: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 88

Conversión de un sistema de Base “10” a Base “ r ”Conversión de un sistema de Base “10” a Base “ r ”

Utilizando divisiones sucesivas por la BaseUtilizando divisiones sucesivas por la Base

msb = bit más significativomsb = bit más significativo

Ejemplos de números enteros :Ejemplos de nú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

Page 9: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 99

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

Conversión de un sistema de Base “10” a Base “ r ”Conversión de un sistema de Base “10” a Base “ 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.40 EA.401616

msb msb

Page 10: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 1010

Conversión de un sistema de Base “10” a Base “8”Conversión de un sistema de Base “10” a Base “8”

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

Parte Entera : 145Parte Entera : 1451010= = 22122188

EnteroEntero BaseBase CuocienteCuociente RestoResto

145145 88 1818 11

1818 88 22 22

22 88 00 22

Page 11: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 1111

Conversión de un sistema de Base “10” a Base “8”Conversión de un sistema de Base “10” a Base “8”

Ejemplo : convertir (145.64)Ejemplo : convertir (145.64)1010 a número octal a número 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

aproximación…aproximación… …………

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

Page 12: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 1212

Conversión entre Base Binaria y HexadecimalConversión 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 0’sCon 0’s

Page 13: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 1313

Base Base Hexadecimal a Base BinariaBase Base Hexadecimal a Base Binaria

Conversión entre Base Binaria y HexadecimalConversión entre Base Binaria y Hexadecimal

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

Page 14: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 1414

Conversión entre Base Binaria y OctalConversión 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 0’sCon 0’s

Base Base Octal a Base BinariaBase Base Octal a Base Binaria

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

Page 15: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 1515

BCD : Binary Coded DecimalBCD : Binary Coded Decimal

Representación en código binario de 4 bits de los Representación en código binario de 4 bits de los números decimales.números decimales.

Números DecimalesNúmeros Decimales Código BCDCódigo BCD

00 00000000

11 00010001

22 00100010

33 00110011

44 01000100

55 01010101

66 01100110

77 01110111

88 10001000

99 10011001

Page 16: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 1616

BCD : Binary Coded DecimalBCD : Binary Coded Decimal

Ejemplo:Ejemplo:

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

Número decimal Representación BCDNúmero decimal Representación BCD

Comparación con su representación en Base Comparación con su representación en Base binaria.binaria.

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

4 0 9 64 0 9 6

Page 17: Sistemas Numéricos y Códigos Digitales

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 más un acarreo a la siguiente 1 + 1 = 0 más un acarreo a la siguiente posición más significativa.posición más significativa.

Page 18: Sistemas Numéricos y Códigos Digitales

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

Page 19: Sistemas Numéricos y Códigos Digitales

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

Page 20: Sistemas Numéricos y Códigos Digitales

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

Page 21: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 2121

ARITMETICA BINARIA ( RESTA )ARITMETICA BINARIA ( RESTA )

• Condiciones : Condiciones :

0 - 0 = 00 - 0 = 0

1 - 0 = 11 - 0 = 1

1 - 1 = 0 1 - 1 = 0

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

ó 10 – 1 = 1ó 10 – 1 = 1

La última regla señala que si se resta un bit 1 de un La última regla señ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 más significativa.columna más significativa.

Page 22: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 2222

ARITMETICA BINARIA ( RESTA )ARITMETICA BINARIA ( RESTA )

• Ejemplo : Restar 1001101Ejemplo : Restar 100110122 - 10111 - 1011122

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

Page 23: Sistemas Numéricos y Códigos Digitales

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 - 10111 - 1011122

Page 24: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 2424

ARITMETICA BINARIA ( MULTIPLICACION) ARITMETICA BINARIA ( MULTIPLICACION)

• Ejemplo: Multiplicar 10111Ejemplo: Multiplicar 1011122 por 1010 por 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

++

Page 25: Sistemas Numéricos y Códigos Digitales

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 MultiplicandoMultiplicando

XX 11 00 11 00 MultiplicadorMultiplicador

00 00 00 00 00 Producto 1Producto 1

11 00 11 11 11 Producto 2Producto 2

11 00 11 11 11 00 Acumulativo 1Acumulativo 1

00 00 00 00 00 Producto 3Producto 3

00 11 00 11 11 11 00 Acumulativo 2Acumulativo 2

11 00 11 11 11 Producto 4Producto 4

11 11 11 00 00 11 11 00 ProductoProducto

++

++

++

Page 26: Sistemas Numéricos y Códigos Digitales

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 1001 entre 100122

Page 27: Sistemas Numéricos y Códigos Digitales

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 6204 de 620488

11 1010 PrestadoPrestado

66 22 00 44 MinuendoMinuendo

-- 55 11 77 33 SustraendoSustraendo

11 00 11 11 DiferenciaDiferencia

Page 28: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 2828

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

• Ejemplo: Multiplicar 4167Ejemplo: Multiplicar 416788 x 2503 x 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

+

Page 29: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 2929

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

ARITMETICA OCTAL (División)ARITMETICA OCTAL (Divisió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

Page 30: Sistemas Numéricos y Códigos Digitales

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

Page 31: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 3131

ARITMETICA HEXADECIMAL ( Resta)ARITMETICA HEXADECIMAL ( Resta)

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

EE 1111 PrestamosPrestamos

99 FF 11 BB MinuendoMinuendo

-- 44 AA 33 66 SustraendoSustraendo

55 44 EE 55 DiferenciaDiferencia

Page 32: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 3232

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

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

5 5 CC 22 AA MultiplicandoMultiplicando

XX 77 11 DD 00 MultiplicadorMultiplicador

44 AA EE 22 22 00 ProductosProductos

ParcialesParciales

55 CC 22 AA

22 88 55 22 66

22 88 FF 99 66 CC 22 00 ProductoProducto

++

Page 33: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 3333

ARITMETICA HEXADECIMAL (División)ARITMETICA HEXADECIMAL (Divisió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

Page 34: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 3434

NUMEROS SIGNADOSNUMEROS SIGNADOS

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

• Ejemplo:Ejemplo:

-13-131010 = = 11,,1101110122

Bit de Bit de

SignoSignoSeparador Separador

de de

SignoSigno

MagnitudMagnitud

+2710=0,11011

Page 35: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 3535

NUMEROS SIGNADOSNUMEROS SIGNADOS

Representación de los ComplementosRepresentación de los Complementos

Representación en Complemento 1’sRepresentación en Complemento 1’s

La representación en complemento 1’s de un La representación en complemento 1’s de un número binario signado, se expresa cambiando el número binario signado, se expresa cambiando el operando del número por su complemento (operando del nú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 representación binaria valor positivo, de representación binaria 0,01100,011022 , su complemento 1’a será , su complemento 1’a será 0,10010,100122..

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

Page 36: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 3636

NUMEROS SIGNADOSNUMEROS SIGNADOS

Representación de los ComplementosRepresentación de los Complementos

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

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

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

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

Page 37: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 3737

NUMEROS SIGNADOSNUMEROS SIGNADOS

Representación de los ComplementosRepresentación 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 - 12- 121010

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

++ 11

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

Page 38: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 3838

NUMEROS SIGNADOSNUMEROS SIGNADOS

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

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

N° total de combinaciones = 2N° total de combinaciones = 2nn

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

-(2-(2n-1n-1) a +(2) a +(2n-1n-1 -1) -1)

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

Page 39: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 3939

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

LA SUMALA SUMA

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

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

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

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

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

Page 40: Sistemas Numéricos y Códigos Digitales

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 CSi Cs+1s+1 = C = Css se descarta Acarreo se descarta Acarreo

Si CSi Cs+1s+1 ≠ C ≠ Css 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

Page 41: Sistemas Numéricos y Códigos Digitales

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 -6-6

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

++ 1,1, 11 11 11 11 00 11 00 -6-6

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

1 1

Compl. 2Compl. 2

Page 42: Sistemas Numéricos y Códigos Digitales

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 -24-24

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

++ 1,1, 11 11 00 11 00 00 00 -24-24

1,1, 11 11 11 11 00 00 00 -8-8

0 0

Compl. 2Compl. 2

Page 43: Sistemas Numéricos y Códigos Digitales

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 -5-5

++ 1,1, 00 00 00 11 00 00 11 -9-9

1,1, 11 11 11 11 00 11 11 -5-5

++ 1,1, 11 11 11 00 11 11 11 -9-9

1,1, 11 11 11 00 00 11 00 -14-14

1 1

Compl. 2Compl. 2

Compl. 2Compl. 2

Page 44: Sistemas Numéricos y Códigos Digitales

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-

Page 45: Sistemas Numéricos y Códigos Digitales

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 sustracción en Se deben aplicar dos reglas en la sustracción en complemento 2’s :complemento 2’s :

Regla IRegla I

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

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

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

Page 46: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 4646

Regla IIRegla II

Después de sacar el complemento 2’s del Después de sacar el complemento 2’s del sustraendo súmelo al minuendo y obtenga la sustraendo sú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 éste es positivo o negativo y desde determina si éste es positivo o negativo y desde

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

ARITMETICA BINARIA DE NUMEROS CON SIGNOARITMETICA BINARIA DE NUMEROS CON SIGNO

LA RESTALA RESTA

Page 47: Sistemas Numéricos y Códigos Digitales

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

Page 48: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 4848

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

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

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 -4-4

+13+13

Page 49: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 4949

1,1, 00 11 11 11 -9-9

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

1,1, 00 00 11 11 -13-13

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 -9-9

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

-13-13

C. 2’s

Page 50: Sistemas Numéricos y Códigos Digitales

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 -9-9

-- 1,1, 00 11 00 00 -4-4

-5-5

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

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

1,1, 11 00 11 11 -5-5

Page 51: Sistemas Numéricos y Códigos Digitales

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 -4-4

+8+8

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

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

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

Page 52: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 5252

ARITMETICA DE NUMEROS EN CODIGO ARITMETICA DE NUMEROS EN CODIGO BCDBCD

LA SUMALA SUMA

BCD es un código numérico y que puede utilizarse en BCD es un código numérico y que puede utilizarse en

operaciones aritméticas. La suma es la más operaciones aritméticas. La suma es la más

importante de estas operaciones, ya que las otras importante de estas operaciones, ya que las otras

tres operaciones (sustracción, multiplicación y tres operaciones (sustracción, multiplicación y

división) se pueden llevar a cabo utilizando la suma. división) se pueden llevar a cabo utilizando la suma.

A continuación, se explicará como se suman dos A continuación, se explicará como se suman dos

números en código BCD.números en código BCD.

Page 53: Sistemas Numéricos y Códigos Digitales

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 números BCD utilizando las Sumar los dos nú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 número BCD válido.es un número BCD vá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 así los seis estados no válidos y pasar al así los seis estados no válidos y pasar al código 8421. Si se código 8421. Si se genera un acarreogenera un acarreo al al sumar 6, éste se suma al grupo de 4 bits sumar 6, éste se suma al grupo de 4 bits siguiente.siguiente.

Page 54: Sistemas Numéricos y Códigos Digitales

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 válido > 9BCD no válido > 9 1313

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

00 00 00 11 00 00 11 11 BCD válidoBCD válido

11 33

Page 55: Sistemas Numéricos y Códigos Digitales

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 válido por acarreoNo válido por acarreo 1818

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

00 00 00 11 11 00 00 00 BCD válidoBCD válido

11 88

Page 56: Sistemas Numéricos y Códigos Digitales

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 válido > 9BCD no válido > 9

BCD válidoBCD válido3131

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

00 00 11 11 00 00 00 11 BCD’s válidosBCD’s válidos

33 11

Page 57: Sistemas Numéricos y Códigos Digitales

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 BCD’s no válidos > 9BCD’s no válidos > 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 BCD’s VálidosBCD’s Válidos

11 22 00

Page 58: Sistemas Numéricos y Códigos Digitales

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 00 -- 3434

00 00 00 11 00 00 00 11 BCD’s válidos BCD’s válidos 1111

11 11

Page 59: Sistemas Numéricos y Códigos Digitales

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 válidoBCD no válido

BCD válidoBCD válido 99

-- 00 11 11 00 Resta 6Resta 6

11 00 00 11

99

Page 60: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 6060

CODIGOS DIGITALESCODIGOS DIGITALES

Existen muchos códigos especializados que se usan Existen muchos códigos especializados que se usan en sistemas digitales, tales como el en sistemas digitales, tales como el código Graycódigo Gray, el , el código de exceso 3código de exceso 3 y el y el código ASCIIcódigo ASCII..

El El código Graycódigo Gray es un código sin pesos y no es un código sin pesos y no aritmético; es decir, no existen pesos específicos aritmético; es decir, no existen pesos específicos asignados a la posición de los bits. La característica asignados a la posición de los bits. La característica más importante del código Gray es que más importante del código Gray es que sólo varía sólo varía un bit de un código al siguienteun bit de un código al siguiente..

Page 61: Sistemas Numéricos y Códigos Digitales

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

Page 62: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 6262

CODIGO DIGITAL GRAYCODIGO DIGITAL GRAY

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

2.2. Convertir a binario el código Gray 10101111.Convertir a binario el código Gray 10101111.

SoluciónSolución

1.1. Binario a código GrayBinario a código Gray::

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

11 00 11 00 00 11 00 1

ObservaciónObservación : : no tener en cuenta el acarreono tener en cuenta el acarreo

Page 63: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 6363

CODIGO DIGITAL GRAYCODIGO DIGITAL GRAY

2.2. Código Gray a BinarioCódigo Gray a Binario::

11 00 11 00 11 11 11 1

11 11 00 00 11 00 11 0

Sumar en esta dirección sin acarreoSumar en esta dirección sin acarreo

Page 64: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 6464

CODIGO DIGITAL EXCESO 3CODIGO DIGITAL EXCESO 3

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

DECIMALDECIMAL BCDBCD EXCESO-3EXCESO-3

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

Page 65: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 6565

CODIGO DIGITAL EXCESO 3CODIGO DIGITAL EXCESO 3

Ejemplo:Ejemplo:

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

44 33 00

++ 33 ++ 33 ++ 33

77 66 33

01110111 01100110 00110011Exceso-3

Page 66: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 6666

ASCIIASCII

El El American Estándar Code for Information American Estándar Code for Information InterchangeInterchange ( (ASCIIASCII, código estándar americano para , código estándar americano para el intercambio de información), es un código el intercambio de información), es un código alfanumérico universalmente aceptado, que se usa alfanumérico universalmente aceptado, que se usa en la mayoría de los computadores y otros equipos en la mayoría de los computadores y otros equipos electrónicos (teclados).electrónicos (teclados).

Dispone de Dispone de 128128 caracteres que se representan por caracteres que se representan por códigos binarios de 7 bitscódigos binarios de 7 bits. Letras , números y . Letras , números y símbolos.símbolos.

Ejemplos:Ejemplos:CarácterCarácter BinarioBinario Hexadec.Hexadec.

PP 10100001010000 50501616

== 01111010111101 3D3D1616

Page 67: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 6767

Método de paridad para la detección de erroresMétodo de paridad para la detección de errores

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

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

Un Un bit de paridadbit de paridad se añade al grupo de bits para se añade al grupo de bits para hacer que el número total de 1s en el grupo sea hacer que el nú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 número total de hace que el nú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 número total de 1s en el grupo sea hace que el nú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..

Page 68: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 6868

Método de paridad para la detección de erroresMétodo de paridad para la detección de errores

Por ejemplo, si un sistema trabaja con Por ejemplo, si un sistema trabaja con paridad parparidad par, , una comprobación que se realice en cada grupo de una comprobación que se realice en cada grupo de bits recibidos tiene que asegurar que el bits recibidos tiene que asegurar que el número número total de 1s en ese grupo es partotal de 1s en ese grupo es par. Si hay un . Si hay un número nú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 añadir al principio o al se puede añadir al principio o al final del código, dependiendo del diseño del final del código, dependiendo del diseño del sistema.sistema.

Observe que el número total de 1s Observe que el nú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.

Page 69: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 6969

Método de paridad para la detección de erroresMétodo de paridad para la detección de errores

Detección de un errorDetección de un error. Un bit de paridad facilita la . Un bit de paridad facilita la detección de un único error de bit, pero no puede detección de un ú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ódigo BCD 0101 con : Transmitir el código BCD 0101 con paridad paridad parpar..

Bit de paridad parBit de paridad par

0001010101

Código BCDCódigo BCD

Page 70: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 7070

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

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

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

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

Page 71: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 7171

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

Números de ParidadNúmeros de Paridad

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

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

Por ejemplo, si se tiene cuatros bits de información Por ejemplo, si se tiene cuatros bits de información ((mm=4), =4), pp se calcula mediante el método de prueba y se calcula mediante el mé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 = = 7 7

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

Page 72: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 7272

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección 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 ecuación, de manera que satisface la ecuación, de manera que se necesitan se necesitan tres bits de paridadtres bits de paridad para proporcionar para proporcionar corrección simple de errores para corrección simple de errores para cuatro bits de cuatro bits de información.información.

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

Page 73: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 7373

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

Situación de los bits de paridad dentro del códigoSituación de los bits de paridad dentro del código

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

El bit más a la izquierda se designa como bit 1, el El bit más a la izquierda se designa como bit 1, el siguiente bit 2, y así sucesivamente del mismo modo:siguiente bit 2, y así 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

Page 74: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 7474

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

Los Los bits de paridadbits de paridad se sitúan en las se sitúan en las posicionesposiciones cuya cuya numeración corresponde a las numeració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 símbolo El símbolo PPnn designa un determinado designa un determinado bit de paridadbit de paridad y y MMnn designa un determinado designa un determinado bit de informaciónbit de información..

Page 75: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 7575

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

Asignación de valores a los bits de paridadAsignación 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 comprobación de otros bits del código total, se comprobación de otros bits del código total, se tiene que conocer el valor de estos otros bits para tiene que conocer el valor de estos otros bits para poder asignarle un valor.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 posición de bit en forma tiene que numerar cada posición de bit en forma de número binariode número binario..

4.4. A continuación, se indica la situación de los bits A continuación, se indica la situación de los bits de de paridadparidad y de y de informacióninformación..

Page 76: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 7676

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

5.5. Tenga en cuenta que el Tenga en cuenta que el número binario que indica la número binario que indica la posición delposición del bit de paridad bit de paridad PP11 contiene un contiene un 11 como el dígito como el dígito más a la derecha. más a la derecha. Este bit de paridad comprueba todas las Este bit de paridad comprueba todas las posiciones de bit, incluída la suya propia, que tiene como posiciones de bit, incluída la suya propia, que tiene como valor “1” en la misma posición que los números binarios que valor “1” en la misma posición que los números binarios que indican la posiciónindican la posición. Por consiguiente, el bit de paridad . Por consiguiente, el bit de paridad PP11, , comprueba las posiciones de bit comprueba las posiciones de bit 1, 3, 51, 3, 5 y y 77..

Designación de bitDesignación de bit PP11 PP22 MM11 PP33 MM22 MM33 MM44

Posición de bitPosición de bit 11 22 33 44 55 66 77

Número binario de posiciónNúmero binario de posición 001001 010010 011011 100100 101101 110110 111111

Bits de informaciónBits de información ( (MMnn))

Bits de paridadBits de paridad ( (PPnn))

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

Page 77: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 7777

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

6.6. El número binario de posición para el El número binario de posición para el bit de bit de paridadparidad PP22 tiene un tiene un “1”“1” en el bit del medio. en el bit del medio. Comprueba todas las posiciones de bit, incluída la Comprueba todas las posiciones de bit, incluída la suya propia, que tienen un suya propia, que tienen un “1”“1” en la misma en la misma posición. Por lo tanto, el posició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, , comprobará las posiciones de bit comprobará 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 número de valor tal, que haga que el nú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.

Page 78: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 7878

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

EjemploEjemplo::

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

SoluciónSolución::

Paso 1Paso 1.. Encontrar el número de bits de paridad Encontrar el nú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 código = Bits totales del código = 44 + + 33 = = 77

Page 79: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 7979

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

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

Designación de bitDesignación de bit PP11 PP22 MM11 PP33 MM22 MM33 MM44

Posición de bitPosición de bit 11 22 33 44 55 66 77

Número binario de posiciónNúmero binario de posición 001001 010010 011011 100100 101101 110110 111111

Bits de informaciónBits de información ( (MMnn)) 11 00 00 11

Bits de paridadBits de paridad ( (PPnn))

BCD 1001BCD 1001

Page 80: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 8080

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección 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 número nú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 número nú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 número número par de unospar de unos (2) en este grupo. (2) en este grupo.

Page 81: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 8181

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

Designación de bitDesignación de bit PP11 PP22 MM11 PP33 MM22 MM33 MM44

Posición de bitPosición de bit 11 22 33 44 55 66 77

Número binario de posiciónNúmero binario de posición 001001 010010 011011 100100 101101 110110 111111

Bits de informaciónBits de información ( (MMnn)) 11 00 00 11

Bits 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 código combinado resultante esEl código combinado resultante es 00001111001001

Page 82: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 8282

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

Detección y corrección de un errorDetección y corrección de un error

Ahora que ya se tiene un método de construcción de un 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 código de errores, ¿Có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 código, en una palabra de código, entonces hay que realizar tres comprobaciones de paridad.entonces hay que realizar tres comprobaciones de paridad.

3.3. Cada comprobación de paridad nos dará un resultado Cada comprobación de paridad nos dará 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 erróneoerróneo..

Page 83: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 8383

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección 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 comprobación de representa que la comprobación de paridad es paridad es

correctacorrecta y un y un 11 representa una representa una mala comprobaciónmala comprobación..

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 número binarionúmero 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 posición del bit de código que contiene un errorposición del bit de código que contiene un error. Este . Este es el código de posición de errores el código de posición de error. . La primera La primera comprobación de paridad genera el bit menos comprobació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..

Page 84: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 8484

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

EjemploEjemplo : :

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

SoluciónSolución : :

Construimos una Construimos una tabla de posición de bittabla de posición de bit::

Designación de bitDesignación de bit PP11 PP22 MM11 PP33 MM22 MM33 MM44

Posición de bitPosición de bit 11 22 33 44 55 66 77

Número binario de posiciónNúmero binario de posición 001001 010010 011011 100100 101101 110110 111111

Código recibidoCódigo recibido 00 00 11 00 00 00 11

Page 85: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 8585

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

Primera comprobación de paridad:Primera comprobació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

Comprobación de paridadComprobación de paridad correctacorrecta 0 (0 (LSBLSB))

Segunda comprobación de paridad:Segunda comprobació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

Comprobación de paridadComprobación de paridad correctacorrecta 00

Tercera comprobación de paridad:Tercera comprobació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

Comprobación de paridadComprobación de paridad incorrectaincorrecta 1 (1 (MSBMSB))

Page 86: Sistemas Numéricos y Códigos Digitales

Sistemas Digitales Sistemas Digitales 8686

Código HAMMING de Corrección de ErroresCódigo HAMMING de Corrección de Errores

ResultadoResultado::

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

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

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