01 Teoria
01 Teoria
INTRODUCCIÓN
Sistema: conjunto de componentes coordinados que trabajan juntos lograr objetivos comunes.
Es un conjunto de elementos dinámicamente relacionados entre sí, operando sobre “entradas”
(datos, energía, información) y produciendo “salidas” (datos, energía, información).
Dato: representación simbólica de propiedades de entes o sucesos. Son realidades cualitativas o
cuantitativas determinados en una situación.
Los datos se pueden transmitir, almacenar y transformar.
Información: representación simbólica de entes, sucesos, hechos, cualidades, etc. que por el
significado que le atribuye el que la recibe e interpreta, permite disminuir la incertidumbre a la hora
de tomar una decisión.
Constituye un conjunto de datos.
La información se puede transmitir y almacenar.
Procesamiento de datos: en general es la acumulación y manipulación de datos para producir
información significativa.
Sistemas de información. Conjunto de elementos orientados al tratamiento y administración de datos
e información, organizados y listos para su uso generados para cubrir una necesidad u objetivo.
Sistemas digitales
Un sistema digital es cualquier sistema de procesamiento y/o transmisión de información bajo forma
de señales discretas, es decir, información que solo puede asumir valores discretos (número finito de
valores).
Si esta información (señales) solo puede asumir uno de dos valores posibles diremos que el sistema
es binario.
Magnitudes analógicas y digitales.
Una magnitud analógica es aquella que toma valores continuos.
No varían de forma instantánea entre 2 valores dados, sino que alcanza todos los infinitos valores
que hay en ese intervalo.
Ejemplo: la temperatura, el tiempo, la distancia y el sonido.
Una magnitud digital es aquella que toma un conjunto de valores discretos.
Podemos tomar muestras que representan la magnitud analógica en instantes discretos de tiempo
(por ejemplo, cada hora) a lo largo de un período (de 24 horas, por ejemplo).
Nota: Es importante darse cuenta de que no es la representación digital (total) de la magnitud
analógica.
Ventajas de las magnitudes digitales:
Los datos digitales pueden ser procesados y transmitidos de forma más fiable y eficiente
que los datos analógicos.
Mayor facilidad de almacenar que las magnitudes analógicas.
1
El ruido (perturbaciones que modifican el valor de la señal) no afecta a los datos digitales
tanto como a las señales analógicas.
SISTEMAS DE NUMERACIÓN
Los sistemas de numeración están formados por una n cantidad de símbolos (o dígitos), cuya
combinación representa cantidades o valores diferentes.
Cada símbolo (dígito) tiene un valor determinado diferente respecto de los otros.
Ejemplo: 0 es menor que 9
Sistemas de numeración posicionales o ponderados
En los sistemas de numeración posicionales cada dígito tiene un peso distinto según el lugar que
ocupa dentro del número.
Siendo:
𝒃 la base del sistema de numeración.
𝒂𝒊 un símbolo perteneciente al sistema y que, por tanto, cumple la condición 0 ≤ 𝑎𝑖 < 𝑏.
(𝒏 + 𝟏) y 𝒑 representan respectivamente el número de dígitos enteros y fraccionarios.
Nota: Para identificar el sistema al cual pertenece un número se suele indicar la base como
subíndice 𝑵𝒃 .
Sin embargo, lo convencional es escribir solamente los coeficientes y a partir de su posición deducir
las potencias necesarias de b.
En general, un número N suele ser representado por una serie de coeficientes (símbolos o dígitos) de
la siguiente manera:
2
𝑁 = 𝑎𝑛 𝑎𝑛−1 … 𝑎1 𝑎0 , 𝑎−1 … 𝑎−𝑝
Peso de un digito. Es la base elevada a la posición que ocupa dentro del número. El peso de un dígito
en cualquier base n es n veces más grande que el dígito a su derecha y (1/n) tan grande como el dígito
a su izquierda.
La suma de cada dígito multiplicado por su peso permitirá obtener el valor final del número.
El digito de mayor peso en un número N suele denominarse como el digito más significativo (MSD,
por sus siglas en inglés), y el de menor peso, digito menos significativo (LSD, por sus siglas en inglés).
SISTEMA DECIMAL
Utiliza diez símbolos (dígitos), del 0 al 9, para representar una determinada cantidad y, por lo tanto,
es un sistema en base 10 (b = 10).
Pesos de un digito decimal.
Son potencias de diez cuyo exponente es la posición que ocupan dentro del número.
Para números enteros, son las potencias positivas de diez, que aumentan de derecha a
izquierda, comenzado por 100 = 1.
Para números fraccionarios, son las potencias negativas de diez que decrecen de izquierda a
derecha comenzando por 10−1 = 0,1.
Para separar la parte entera (potencias positivas) de la parte fraccionaria (potencias
negativas) se utiliza la coma o punto decimal.
números enteros números fraccionarios
106 105 10 10 10 10 10 . 10
4 3 2 1 0 −1 10−2 10−3 10−4 10−5
MSD Punto decimal LSD
Ejemplo: 10011101012
En un número binario:
El bit más a la derecha es el LSB (Least Significant Bit, bit menos significativo)
El bit más a la izquierda es el MSB (Most Significant Bit, bit más significativo)
3
SISTEMA OCTAL
El sistema octal es un sistema posicional formado por ocho símbolos (0, 1, 2, 3, 4, 5, 6, 7); el peso de
cada cifra son las potencias sucesivas de 8. Es un sistema de base 8 (b = 8).
Ejemplo: 27348
SISTEMA HEXADECIMAL
El sistema hexadecimal, o de base 16 (b = 16), en general abreviado con las siglas “Hexa”, “H” o “h”,
es un sistema posicional formado por dieciséis símbolos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) que
representan los valores decimales de 0 a 15, el peso de cada cifra son las potencias sucesivas de 16.
Nota: Un número hexadecimal suele identificarse con la letra “h” luego del dígito menos
significativo. Por ejemplo, 1A2h.
El sistema hexadecimal y octal se utilizan para compactar la información binaria, que es engorrosa
de manejar. Se utiliza un dígito hexadecimal (u octal) para representar una cadena de 4 (o 3) dígitos
binarios.
Ejemplo: 010110102 = 5A16 = 1328
CAMBIO DE BASE
Método de divisiones sucesivas (entero de base 10 a otra)
Si se divide un número entero expresado en un sistema de base 𝑏1 por la base 𝑏2 , y el cociente se
vuelve a dividir por 𝑏2 y así sucesivamente, el ultimo cociente y los restos obtenidos forman el número
en el sistema de base 𝑏2 .
Continuando el proceso se llegan a obtener todos los dígitos de N en la base b 2, siendo el más
significativo el último cociente.
a) Decimal a binario (10) a (2)
19 9 4 2 1 Como el ultimo cociente
=9 =4 =2 =1 es menor a la base, el
2 2 2 2
método termina.
Resto 1 1 0 0 1910 = 100112
LSB MSB
4
Importante: si se quiere pasar de un sistema distinto al decimal se debe opere en la base a la que
quiere pasar. Por ejemplo, si desea pasar el número 177(8, a base 4 debe operar en base 8.
Método de multiplicaciones (fracción de base 10 a otra)
1. Multiplicar la fracción por la base de conversión. El resultado tiene una parte entera que se
considera uno de los dígitos buscados.
2. Del resultado se toma toda la parte fraccionaria y se vuelve a multiplicar por la base para
hallar el siguiente digito fraccionario buscado.
Este procedimiento se realiza tantas veces como sea necesario hasta cancelar el método por alguno
de los motivos que siguen:
La parte fraccionaria en una iteración se hace cero.
En la conversión comienza a repetirse una secuencia de dígitos fraccionarios, lo que implica
que es una fracción periódica.
Se hallaron varios dígitos y en se considera que la fracción obtenida tiende al resultado
esperado por la conversión, y el error es infinitesimal.
Luego, el nuevo número fraccionario estará compuesto por la parte entera resultante de cada
multiplicación; éstas se toman en orden descendente, o sea, desde la primera hasta la última
iteración.
a) Decimal a binario (10) a (2)
MSB
0.3125 × 2 = 0 . 625
0.625 × 2 = 1 . 25
0.25 × 2 = 0 . 50 La parte fraccionaria se hace
0.50 × 2 = 1 . 00 cero y el proceso termina.
LSB 0.312510 = 0.01012
b) Decimal a binario (10) a (8)
MSD
0.3125 × 8 = 2 . 50 La parte fraccionaria se hace
0.50 × 8 = 4 . 00 cero y el proceso termina.
LSD 0.312510 = 0.248
c) Decimal a hexadecimal (10) a (16)
0.3125 × 16 = 5 . 00 0.312510 = 0.516
Si la parte entera es mayor a 9(10 debe ser reemplazarlo por su equivalente hexadecimal.
Método de la suma de pesos (de otra a base 10)
El método consiste en determinar el conjunto de pesos cuya suma es igual al número decimal.
La conversión se realiza fácilmente representando el número mediante su polinomio equivalente y
operando este en base diez, multiplicando cada digito por la potencia que le corresponda a su posición
y sumando los valores finales
a) Binario a decimal (2) a (10)
Ejemplo:
1101,112 = 1 ∙ 23 + 1 ∙ 22 + 0 ∙ 21 + 1 ∙ 20 + 1 ∙ 2−1 + 1 ∙ 2−2
= 8 + 4 + 0 + 1 + 0,5 + 0,25 = 13,75(10
5
b) Octal a decimal (8) a (10).
Ejemplo:
23748 = 2 × 83 + 3 × 82 + 7 × 81 + 4 × 80
= (2 × 512) + (3 × 64) + (7 × 8) + (4 × 1)
= 1024 + 192 + 56 + 4 = 127610
7
COMPLEMENTO A 1 Y A 2 DE LOS NÚMEROS BINARIOS
Cálculo del complemento a 1
FORMATO DE NÚMEROS
Se denomina formato de una entidad binaria a la estructura y la cantidad de bits de un determinado
tipo de dato para su tratamiento en la computadora.
Overflow, sobreflujo o bit de desborde. Se dice quo hay un sobreflujo cuando se excede la capacidad
de un registro de almacenamiento, lo que provoca la invalidez del resultado obtenido.
El que interpreta un grupo de bits bajo un formato determinado es un programa. Una cadena de bits
puede ser interpretada por el programa que la utiliza como operando, como un binario sin signo o con
él, un carácter alfanumérico o incluso una instrucción, según quién lo “interprete”.
NÚMEROS SIN SIGNO (enteros positivos)
Para la representación de un número se utiliza la totalidad de bits del formato.
n bits
n bits de magnitud
Ejemplo: con 8 bits el número 2510 se representa como: 000110012
También se la conoce como tipo de dato “ordinal sin signo”.
NÚMEROS CON SIGNO (enteros positivos y negativos)
Existen tres formatos binarios para representar los números enteros con signo: signo-magnitud,
complemento a 1 y complemento a 2.
Todas ellas implican tratar el bit más significativo como un bit de signo.
Bit de signo. Es el bit más a la izquierda de un número binario con signo e indica si el número es
positivo o negativo. Un 0 indica que es un número positivo y un 1 indica que es un número negativo.
Formato signo-magnitud
El bit más a la izquierda es el bit de signo y los restantes bits son los bits de magnitud, es decir, el
valor del número (el número binario real o natural).
n bits
bit de signo (n – 1) bits de magnitud
8
Un número negativo y el correspondiente número positivo tienen los mismos bits de magnitud, pero
el bit de signo es un 1 en lugar de un 0.
Ejemplo: En un formato de signo-magnitud de 8 bits:
+2510 = 000110012
−2510 = 100110012
Desventaja: dos representaciones del número 0 y dificultad de operar aritméticamente.
Formato del complemento a 1
Los números positivos en el formato de complemento a 1 se representan de la misma forma que los
números positivos en el formato signo-magnitud.
Ejemplo: Con 8 bits, +2510 se expresa como 000110012.
En el formato de complemento a 1, un número negativo es el complemento a 1 del correspondiente
número positivo.
Ejemplo: –2510 se expresa como el complemento a 1 de +25 (00011001), es decir: 11100110.
10
Rango de los números enteros con signo
Para los números con signo, el rango de valores para números de n bits es:
Rango = −(2𝑛 − 1 ) hasta + (2𝑛 − 1 − 1)
donde en cada caso hay 1 bit de signo y n−1 bits de magnitud.
Ejemplo: con 8 bits se pueden representar números enteros con signo en el rango de 27 = –
128 hasta 27 – 1 = +127.
11
Ejemplo: Para los números binarios: (a) 01010110 (b) 10101010 tenemos:
Los bits y sus pesos son:
-27 26 25 24 23 22 21 20 Potencia
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
−128 64 32 16 8 4 2 1 Peso
0 1 0 1 0 1 1 0 Nro. Binario (a)
1 0 1 0 1 0 1 0 Nro. Binario (b)
Sumando los pesos donde hay 1s:
(a) 64 + 16 + 4 + 2 = +86
(b) −128 + 32 + 8 + 2 = −86
Resta binaria
Las cuatro reglas básicas para la resta de números binarios son:
0−0=0
1−1=0
1−0=1
10 − 1 = 1 0 − 1 con acarreo negativo de 1
Cuando se restan números, cuando se intenta restar 1 de 0 se genera un acarreo negativo que pasa
a la siguiente columna de la izquierda (le pide 1 a la posición siguiente).
Ejemplo:
01 10 1
12
– 0 1 1
0 1 0 Resta
Multiplicación binaria
Las cuatro reglas básicas de la multiplicación de bits son las siguientes:
0×0=0
0×1=0
1×0=0
1×1=1
Se realiza de la misma forma que con números decimales. Se realizan los productos parciales,
desplazando cada producto parcial sucesivo una posición hacia la izquierda, y sumando luego todos
los productos parciales.
Ejemplo: 1 1 1
× 1 0 1
1 1 1 1 1 1
Productos
+ 0 0 0
parciales
1 1 1
1 0 0 0 1 1 Producto
División binaria
La división binaria sigue el mismo procedimiento que la división decimal.
1 0 0 1 1 1
- 0 0 0 1 1
1 0 0
- 1 1
0 1 1
- 1 1
0 0 Resto
OPERACIONES ARITMÉTICAS DE NÚMEROS CON SIGNO
SUMA
Los dos números en una suma se denominan sumandos. El resultado es la suma.
Consideremos los cuatro casos de sumas posibles:
1. (+A) + (+B)
2. (+A) + (–B)
3. (–A) + (+B)
4. (–A) + (–B)
1. Ambos números son positivos. Da como resultado un número positivo.
Ejemplo:
00000111 7
13
+ 00000100 + 4 La suma es positiva y, por tanto, es un
00001011 11 número binario real (no complementado).
RESTA
Se realizan las restas binarias transformándolas en sumas de la siguiente manera:
Cambiar el signo del sustraendo y sumarlo al minuendo. El resultado de una resta se denomina
diferencia:
1. (+A) – (+B) = (+A) + (–B)
2. (+A) – (–B) = (+A) + (+B)
3. (–A) – (+B) = (+A) + (–B)
4. (–A) – (–B) = (+A) + (+B)
Una rutina de software de resta debe ordenar las siguientes operaciones simples:
1. Invertir los bits del sustraendo (cálculo del complemento restringido).
2. Incrementar en una unidad (cálculo del complemento a la base).
3. Sumarles el minuendo.
14
Ejemplo: 00001000 (+8) – 00000011 (+3)
00001000 Minuendo (+8)
+ 11110111 Complemento a 2 del sustraendo (−3)
1 11110010 Diferencia (+5)
Descartar acarreo
Multiplicación
Los números en una multiplicación se denominan multiplicando, multiplicador y el resultado,
producto.
Su el multiplicando y el multiplicador son del mismo signo el producto es positivo, en caso contrario
es negativo.
Los dos métodos básicos para realizar la multiplicación utilizando la suma son la suma directa y los
productos parciales.
Suma directa. Se suma el multiplicando un número de veces igual al multiplicador.
15
Paso 4. Sumar los productos parciales para obtener el producto final.
Ejemplo: en estos pasos (3 y 4) sólo se emplean los bits de magnitud.
1001101 Multiplicando
× 0000011 Multiplicador
1001101
10011010
000000000000
Productos
+ 0000000000
parciales
00000000000
000000000000
0000000000000
0000011100111 Producto final
Paso 5. Si el bit de signo es negativo, calcular el complemento a 2 del producto. Si es positivo, dejar
el producto en formato real. Añadir el bit de signo al producto.
Ejemplo: Como el signo del producto es un 1
Calcular el complemento a 2 del producto: 0 0000 1110 0111 → 1 1111 0001 1001
Añadir el bit de signo: 1 1111 0001 1001→ 11 1111 0001 1001
AGRUPAMIENTOS BINARIOS
Cada dígito en un número binario se conoce como bit y puede tener solo uno de dos valores, 0 o 1.
Los bits normalmente se almacenan y manipulan en grupos de 8, conocido como byte.
Los bytes se pueden dividir en dos mitades de 4 bits llamadas nibbles (o nybbles).
Las palabras de computadora consisten en dos o más bytes adyacentes que a veces se direccionan y
casi siempre se manipulan colectivamente (como unidad de información). Las palabras pueden tener
16 bits (generalmente conocido como media palabra), 32 bits (una palabra), 64 bits (una palabra
doble). A veces se utilizan otras agrupaciones.
CODIGOS BINARIOS
Un código es una ley de correspondencia entre las informaciones por representar (cantidades,
caracteres alfabéticos, etc.) a los cuales se les asigna una combinación de símbolos determinada
(dígitos binarios, por ejemplo).
Los sistemas de numeración constituyen códigos de representación de cantidades.
En general, el número de BITs (I) que necesitamos para poder codificar una determinada cantidad
de información (N) está determinada por:
(𝐼 ) = log 2(𝑁)
Cuando el código use más dígitos de lo que necesita lo llamaremos “CÓDIGOS REDUNDANTES”.
CÓDIGOS DECIMALES CODIFICADOS EN BINARIO (BCD)
El código decimal binario (BCD, «Binary Coded Decimal») es una forma de expresar cada uno de los
dígitos decimales con un código binario (combinación de dígitos binarios).
En los códigos BCD cada digito decimal se codifica (representa) directamente en un código binario de
4 bit. Con 4 bits podemos representar 24 = 16 combinaciones posibles; pero se utilizan solo 10 de estas
combinaciones (para representar los dígitos del 0 al 9).
𝐼 = log 2 10 = 3,162. . . . . . . ≅ 4
Se pueden clasificar en dos grandes clases: los BCD ponderados y los BCD no ponderados.
1) BCD ponderados: Aquellos en los que a cada posición o cifra binaria se le asigna un peso. El número
decimal equivalente a una combinación binaria dada se obtiene sumando los pesos de las posiciones
que poseen valor 1.
a) BCD natural, puro o 8421. Se asignan a los 4 bits los pesos del sistema de numeración
binario: 23, 22, 21 y 20, es decir, 8421.
17
Es el código BCD más importante, y cuando hacemos referencia a BCD, siempre es al código
8421, a no ser que se indique otra cosa.
b) BCD Aiken o 2421. Los pesos binarios de los 4 bits son 21, 22, 21 y 20, es decir, 2421.
c) También es posible asignar cargas negativas a un código decimal, tal como se muestra en el
código 8, 4, –2, –1.
18
Código de 2 bits
Paso 1. Repetir simétricamente Paso 2. Agregar un bit 0 a las primeras
las combinaciones del código de 2𝑛−1 = 22−1 = 2 combinaciones y 1 para
(n–1) bits. las siguientes.
0 00
1 01
1 11
0 10
Código de 3 bits
Paso 1. Repetir simétricamente Paso 2. Agregar un bit 0 a las primeras
las combinaciones del código de 2𝑛−1 = 23−1 = 4 combinaciones y 1 para
(n–1) bits. las siguientes.
00 000
01 001
11 011
10 010
10 110
11 111
01 101
00 100
Código de 4 bits
Paso 1. Paso 2.
000 0000
001 0001
011 0011
010 0010
110 0110
111 0111
101 0101
100 0100
100 1100
101 1101
El Código 2421, permite dos combinaciones de los dígitos 2,3,4,5,6 y 7. Cualquiera es válida,
más aún en un mismo número de varios dígitos iguales pueden usarse codificaciones distintas.
Decimal 2 5 6
0010 1011 1100
Aiken 1000 0101 0110
0010 0101 1100
19
Los códigos exceso de 3, el 2421 y el 8 4 –2 –1, son autocomplementarios, o sea que el
complemento a 9 del número decimal se obtiene cambiando los ceros por unos y viceversa. Lo
cual es útil para operaciones aritméticas (resta con complemento a 9).
El código de Gray (binario reflejado) tiene la particularidad de que un digito decimal al
siguiente siempre cambia un solo digito a la vez.
CÓDIGOS ALFANUMÉRICOS
Los códigos alfanuméricos son códigos que representan números y caracteres alfabéticos (letras).
También representan otros caracteres tales como símbolos y distintas instrucciones necesarias para
la transferencia de información.
Código EBCDIC (Expanded Binary Code Decimal Interchange Code)
Este código fue diseñado y utilizado exclusivamente por IBM. Utiliza 8 dígitos binarios para
representar cada carácter.
La correspondencia entre las informaciones por representar la correspondiente secuencia binaria se
encuentra en tablas con distintos formatos.
Información Numérica (EBCDIC)
Cada dígito decimal es representado internamente con 8 bits, distribuidos de la siguiente
forma:
Zona Dígito
4 bits 4 bits
Zona: Ocupa 4 bits de orden superior del Byte, tiene una secuencia binaria fija para cualquier
número: 1111(2 = F(16
Dígito: En este espacio se representa el número decimal codificado en BCD.
Código ASCII (American Standard Code for Information Interchange)
El código ASCII dispone de 128 caracteres que se representan mediante un código binario de 7 bits.
Los primeros 32 caracteres ASCII son comandos no gráficos, que nunca se imprimen o presentan en
pantalla, y sólo se utilizan para propósitos de control; para permitir a dispositivos, tales como una
computadora o una impresora, que se comuniquen entre sí cuando transfieren información y datos.
Los demás caracteres son símbolos gráficos que pueden imprimirse o mostrarse en pantalla: letras
del alfabeto (mayúsculas y minúsculas), los diez dígitos decimales, signos de puntuación y otros
símbolos comúnmente utilizados.
Información Numérica (ASCII)
Cada dígito se codifica con 7 bit que también se encuentran asociados en dos grupos: 3 bits de ZONA
y 4 bits de DIGITO.
La zona es siempre 011 y dígito corresponde a la representación BCD del número.
Problema de EBCDIC y ASCII
Los números codificados con “zona”, no son aptos para realizar operaciones aritméticas. Para poder
hacerlo se debe eliminar la parte correspondiente a la zona de cada byte. Esto se llama empaquete y
20
la información resultante empacada, empaquetada o decimal sin zona. Los datos numéricos con zona
se denominan información desempacada o zoneada.
El punto decimal (coma) no se representa, queda implícitamente considerado en el lugar
correspondiente, es el programador quien debe tenerlo en cuenta cuando efectúe la salida de los
resultados.
Caracteres del código ASCII extendido
Los caracteres del código ASCII extendido se representan mediante una serie de códigos de 8 bits, 4
bits de zona y 4 de dígito.
Los primeros 128 caracteres son los originales. Los segundos 128 son los agregados; en su mayoría
representan caracteres gráficos y no son esenciales: Caracteres alfabéticos no ingleses, Símbolos de
moneda no ingleses, Letras griegas, Símbolos matemáticos, Caracteres para gráficos, etc.
ARITMÉTICA EN BCD
SUMA
Consideremos dos números decimales A y B, siendo ai, y bi los dígitos respectivos.
Paso 1. Efectuar la suma binaria de los dígitos de a pares (ai + bi).
Paso 2. Si la suma de un número BCD (4 bits) es igual o menor que 9, es un número BCD válido.
Ejemplo:
Decimal BCD
450 0100 0101 0000
+ 417 + 0100 0001 0111
867 1000 0110 0111
Paso 3. Si una suma de 4 bits es mayor que 9, o si genera un acarreo en el grupo de 4 bits, el resultado
no es válido. En este caso, se suma 6 (0110) al grupo de 4 bits para saltar así los seis estados no
válidos. Si se genera un acarreo al sumar 6, éste se suma al grupo de 4 bits siguientes.
Ejemplo: 9 + 4 = 13
BCD
1001
+ 0100
1101 No válido (>9)
+ 0110 Sumar 6
0001 0011 Número BCD válido
1 3 Equivalente decimal
RESTA
Se puede realizar la resta sumando el minuendo al complemento del sustraendo.
Para el cálculo del complemento restringido de un digito BCD natural: Al digito BCD se le suman 6
unidades (0110) y al resultado se le invierten los bits y se le suma 1.
21
Ejemplo: 45 – 36 = 9
BCD Complemento de 36
0100 0101 45 0011 0110
+ 1100 0100 Complemento de 36 + 0110 +6 (0110)
1 0000 1001 0011 1100
1100 0011 Invertir
0 9 Equivalente decimal + 0001 + 1 (0001)
1100 0100
Descartar acarreo
Otra alternativa es efectuar la resta binaria y para el error de los códigos inválidos, cuando el
resultado es superior a 9, se resta seis al resultado.
Ejemplo: 45 – 36 = 9
BCD
0100 0101
- 0011 0110
0000 1111 Invalido (>9)
- 0110 Restar 6
0000 1001 Número BCD válido
0 9 Equivalente decimal
Un determinado sistema puede funcionar con paridad par o impar, pero no con ambas.
Permiten la detección de errores de un único bit.
Detección de un error. Consiste en comprobar si el número de unos de cada combinación es par
(códigos de paridad par) o impar (códigos de paridad impar). En caso de no comprobarse, quiere decir
que se ha producido un error.
22
1- los 3 son “idénticos”. La información es correcta.
2- 2 son iguales y uno distinto. El código se comporta como autocorrector selecciona una de los 2
iguales y lo toma como correcto.
3- los 3 son distintos. El código se comporta como autocorrector y la maquina detecta que hay un
error, pero no puede determinar cuál es la información correcta.
Códigos Hamming
Están basados en la adición p bits de paridad, a un código de d bits, obteniéndose un nuevo código de
(n + p) bits.
Número de bits de paridad. Si el número de bits de datos se designa por d, entonces el número de
bits de paridad, p, se determina mediante la siguiente relación:
2𝑝 ≥ 𝑑 + 𝑝 + 1
La cantidad de bits de paridad, p, que se agregan debe satisfacer esta relación y se calcula por el
método de prueba y error usando la Ecuación anterior.
Nota: se proporciona la detección y corrección de errores para todos los bits, tanto de paridad
como de datos.
Colocación de los bits de paridad en el código. Los bits de paridad se sitúan en las posiciones que
corresponden con las potencias de dos en sentido ascendente (1, 2, 4, 8…) y el resto son bits de datos.
Asignación de los valores de los bits de paridad. Para determinar el valor que tomara cada bit de
paridad se construye una tabla de combinaciones binarias con tantas columnas como bits de paridad.
Cada bit de paridad controla la posición que coincide con un “1” en la tabla.
Detección de un error. El conjunto de los p bits de paridad forma un numero en el sistema binario
natural cuyo equivalente decimal nos indica la posición del bit erróneo. En caso de que no exista
error, dicho número debe de ser cero.
Corrección de un error. Cuando se detecta que un bit es erróneo puede corregirse simplemente
invirtiéndolo.
Ejemplo: Considerando un mensaje de 4 bit de información.
Número de bits de paridad. Se requieren 3 bit de paridad 23 ≥ 4 + 3 + 1 ⇒ 8 ≥ 8.
Colocación de los bits de paridad. Se colocan en las posiciones 1, 2, y 4:
Posición del mensaje 7 6 5 4 3 2 1
d3 d2 d1 p2 d0 p1 p0
Asignación de los valores de los bits de paridad. Se construye una tabla de combinaciones
binarias.
p 2 p1 p0
0 0 0 0
1 0 0 1
2 0 1 0 p0 controla (1, 3, 5, 7)
3 0 1 1 p1 controla (2, 3, 6, 7)
4 1 0 0 p2 controla (4, 5, 6, 7)
5 1 0 1
6 1 1 0
7 1 1 1
23
Detección de un error. Los bits de paridad deben hacer que la cantidad de bits “1” controlados
sea par. Para ello se utiliza la función lógica OR – exclusiva.
𝑝𝑜 = 1⨁3⨁5⨁7
𝑝1 = 2⨁3⨁6⨁7
𝑝2 = 4⨁5⨁6⨁7
Si el bit de control a igual a 0 es correcto, si es 1 es incorrecto. La posición del error se
determina según los valores obtenidos en los bits de control ordenados en forma decreciente,
es decir p2, p1 y p0.
24