COMPLEMENTO a la BASE-1 y a
la BASE
Sistemas de Codificación
Complemento a la (base-1)
En todo sistema de numeración de notación posicional, para un número “y” de n dígitos,
existe un número y´ también de n dígitos que es su complemento a la base-1 tal que:
Siendo 10 la base en
cualquier sistema
Generalizando, para un número N de n dígitos en base 𝜷
Ejemplos:
Sea:
𝜷 = 10
𝑵 = 2358
𝐶 2358 = 10 − 1 − 2358 = 9999 − 2358 = 7641
Sea:
𝜷=2
𝑵= 0110
𝐶 0110 = 2 − 1 − 0110 = 1111 − 0110 = 1 0 0 1
Definición práctica:
Se define el complemento a la base-1 como la cantidad que le falta a cada cifra del número para alcanzar
la base menos uno.
Complemento a la (base)
En todo sistema de numeración de notación posicional, para un número “ x ” de n dígitos, existe
un número x´ tal que:
x´ es el complemento a la base de x
Generalizando, para un número N de n dígitos en base 𝜷
Definición práctica:
Se define el complemento a la base de un número como el complemento a la base-1 mas la unidad.
Ejemplos:
Sea:
𝐶
2358 = 10
Sea:
𝜷 = 10
𝑵 = 2358
− 2358 = 7642 = 𝐶 2358 + 1
𝜷=2
𝑵= 0110
𝐶 0110 = 𝐶 0110 + 1 = 1 0 0 1 + 1 = 1 0 1 0
Definición práctica:
Se define el complemento a la base-1 como la cantidad que le falta a cada cifra del número para alcanzar
la base menos uno.
RESTA USANDO COMPLEMENTO
Sean x e y números expresados en base
en un contexto de longitud de palabra n
Sumo y resto
Traducido a algoritmo:
1. Obtener el complemento a la base del sustraendo ( y )
2. Sumar este complemento al minuendo ( x )
3. De esta suma descartar el acarreo
Ejemplo:
Resta usando complemento
Sea
= 10
n= 4
X = 6532 Y= 2358 ;
X = 6532
Y = 2358
4174
La verdadera importancia de este concepto es para el Sistema
binario ya que al permitir realizar la resta sumando, se evita el
“pedir prestado” simplificando de este modo la construcción
del circuito restador de la ALU. Se puede usar el mismo circuito
sumador para la resta.
X = 6532
= 7642
14174
10000
4174
Descartando el
acarreo 𝛽 = 10 se
obtiene
Sistema de Codificación
• Un código establece una correspondencia entre un conjunto de informaciones y otro
conjunto de símbolos o señales que la representan, pudiendo existir reglas para
pasar de un conjunto al otro.
• Los códigos digitales pueden ser considerados como los lenguajes digitales que
permiten almacenar, manipular y comunicar la información.
• Tal como existen numerosos lenguajes hablados, también existen una gran variedad
de códigos digitales.
Estos Códigos pueden subdividirse en categorías importantes.
Categoría 1: El Código binario utilizado por los circuitos electrónicos para realizar varias operaciones digitales
Categoría 2: Códigos utilizados para convertir números decimales del 0 al 9 en forma digital. Ej. Códigos BCD
(Binary-Coded Decimal).
Categoría 3: Códigos utilizados para convertir números decimales, las 26 letras del alfabeto, símbolos y
operaciones. Ej. ASCII, EDCDIC, etc.
Categoría 4: Códigos de instrucciones utilizados por los procesadores que hacen que estos realicen una
determinada secuencia de operaciones.
Categoría 1 :
El sistema binario usa solo dos símbolos el 0 y el 1, cada uno de los
cuales se le llama dígito binario o bit. Es usual denominar ponderado a
los sistemas binarios en los que se puede asignar a cada posición de los
dígitos una potencia de 2 ordenada desde el dígito menos significativo
hasta el más significativo denominando a la potencia peso.
Pero no quiere decir que se lo use actualmente solamente en su forma
original.
Si las razones para usar variantes del binario común son de obtener
resultados y posibilidades de mayor amplitud, seguridad o velocidad
operativa, el diseñador de la máquina no dudará en adoptar dichas
variantes.
• Categoría 2: Códigos BCD (Decimal Codificado en Binario)
• Consiste básicamente en representar la estructura decimal del número
representando en binario sus cifras.
Código BCD Natural
(8-4-2-1)
Dec.
• Cada dígito se representa mediante 4 dígitos binarios. Ya que queremos
representar sólo 10 cifras distintas del sistema decimal (0 al 9)
necesitamos 2 dígitos en el sistema binario. Ahora para n = 3 tenemos 8
símbolos distintos por lo tanto no son suficientes, mientras que para n = 4
tenemos 16 símbolos distintos sobrando 6 solamente.
• Se lo conoce como BCD natural o puro ya que sus pesos coinciden con los
4 primeros pesos en sistema binario natural.
Ej: Supongamos (1048)10 en BCD será: 0001 0000 0100 1000
1
En binario común :
0
(1048)10 =(10000011000)2
4
8
binario
8 4
2 1
0
0 0 0
0
1
0 0 0
1
2
0 0 1
0
3
0 0 1
1
4
0 1 0
0
5
0 1 0
1
6
0 1 1
0
7
0 1 1
1
8
1 0 0
0
9
1 0 0
1
Código BCD Aiken (2-4-2-1)
• Se trata de un código binario ponderado, en el cual se altera la secuencia
natural en la formulación del peso reemplazando el orden 8 por el orden 2
Código BCD Aiken
(2-4-2-1)
Dec.
• Tiene la ventaja de presentar simetría de complementación respecto de la
línea punteada (se invierten los unos por cero y viceversa)
binario
2 4
2 1
0
0
0
0 0
1
0
0
0 1
2
0
0
1 0
3
0
0
1 1
4
0
1
0 0
5
1
0
1 1
6
1
1
0 0
7
1
1
0 1
8
1
1
1 0
9
1
1
1 1
Código BCD exceso de tres o de Stibitz
• En los códigos no ponderados la correspondencia decimal-binario es
arbitraria, ya que al no haber ningún peso no se verifica el número,
aunque por lo general las combinaciones se forman según ciertas reglas.
Código BCD Exceso
De tres o Stibitz (XS-3)
Dec.
binario
• Cada número decimal N le corresponde el numero N+3 del código 8-4-2-1.
• Es autocomplementado respecto de la línea de puntos.
0
0 0
1 1
1
0 1
0 0
2
0 1
0 1
3
0 1
1 0
4
0 1
1 1
5
1 0
0 0
6
1 0
0 1
7
1 0
1 0
8
1 0
1 1
9
1 1
0 0
Código BCD progresivo Cíclico
• Para que un código sea progresivo todos sus números tienen que ser
adyacentes con el anterior y el siguiente. Ejemplo:
Adyacentes: 0000 y 0001 Solo cambia el último bits
No adyacentes: 0010 y 0001 Cambian los dos últimos bits.
• Para que un código sea cíclico deben ser adyacentes el primer número y el
último.
• Se lo construye con la ayuda
del mapa de Karnaugh.
00
01
11
10
00
01
11
10
• El complemento se realiza cambiando o invirtiendo, respecto de la línea de
puntos, solo el bit mas significativo.
• También se denomina Código de Gray porque puede generarse como parte de
otro código mayor conocido como “Reflejado”.
Código BCD Progresivo
Cíclico.
Dec
binario
0
0 0
1 0
1
0 1
1 0
2
0 1
1 1
3
0 1
0 1
4
0 1
0 0
5
1 1
0 0
6
1 1
0 1
7
1 1
1 1
8
1 1
1 0
9
1 0
1 0
Código Reflejado de Gray
Dec
binario
0
0 0
0 0
1
0 0
0 1
2
0 0
1 1
3
0 0
1 0
4
0 1
1 0
5
0 1
1 1
6
0 1
0 1
7
0 1
0 0
8
1 1
0 0
9
1 1
0 1
10
1 1
1 1
11
1 1
1 0
12
1 0
1 0
13
1 0
1 1
14
1 0
0 1
15
1 0
0 0
1
línea de simetría
2
línea de simetría
También se lo construye con la ayuda
del mapa de Karnaugh.
00
3
línea de simetría
01
11
10
00
01
11
10
• Se construye reflejando a partir de una primera línea de simetría 2 bits y
agregando otros no reflejados . A su vez el conjunto así se vuelve a reflejar
utilizando otra línea de simetría y así sucesivamente.
Códigos de Redundancia
Si se usa un código cuyos elementos tengan mas información que la necesaria,
esto lo hace resistente a los errores y pérdida de información. Esta información por
encima de la necesaria se llama redundancia.
Por Ejemplo, se quiere evitar que la información 0111 transmitida por un cierto
canal se reciba errónea. Tal es el caso de 0011, el receptor la acepta sin darse
cuenta del error.
Códigos BCD detectores de errores con Paridad
Se genera un bit extra a los 4 originales de modo que cada
combinación presente un número impar (o par) de unos. Este caso es
de paridad impar.
El error en este caso se detecta cuando la línea presenta una cantidad
par de unos.
Código BCD Natural con
Paridad Impar
Dec.
binario
8 4
2 1 p
0
0 0
0 0 1
1
0 0
0 1 0
2
0 0
1 0 0
3
0 0
1 1 1
4
0 1
0 0 0
5
0 1
0 1 1
6
0 1
1 0 1
7
0 1
1 1 0
8
1 0
0 0 0
9
1 0
0 1 1
Códigos con cantidades constantes de unos
También son códigos con redundancia para detectar errores
Código “dos entre cinco” (7-4-2-1-P)
La columna P se obtiene haciendo que cada combinación contenga dos “unos” ; salvo la combinación
correspondiente al cero, las restantes verifican la sumatoria citada.
Dec.
binario
7 4 2 1 p
0
1 1
0 0 0
1
0 0
0 1 1
2
0 0
1 0 1
3
0 0
1 1 0
4
0 1
0 0 1
5
0 1
0 1 0
6
0 1
1 0 0
7
1 0
0 0 1
8
1 0
0 1 0
9
1 0
1 0 0
Códigos con cantidades constantes de unos (continuación)
Código “Biquinario” (5-0 4-3-2-1-0)
Es un código que emplea dos sistemas combinados uno dos bits (binario) y otro de cinco (quinario) es un
código de tipo ponderado y los pesos respectivos son 50 43210
Dec.
binario
5 0
4 3 2 1 0
0
0 1
0 0 0 0 1
1
0 1
0 0 0 1 0
2
0 1
0 0 1 0 0
3
0 1
0 1 0 0 0
4
0 1
1 0 0 0 0
5
1 0
0 0 0 0 1
6
1 0
0 0 0 1 0
7
1 0
0 0 1 0 0
8
1 0
0 1 0 0 0
9
1 0
1 0 0 0 0
Códigos de categoría 3
Códigos utilizados para convertir números decimales, las 26 letras del alfabeto, símbolos y
operaciones.
Código ASCII
ASCII es el conjunto de iniciales de American Standard Code for Information
Interchange y fué establecido por ANSI hacia el 1915.
En su momento el conjunto de caracteres era el del teclado QWERTY original y
estaban definidas las letras (solo mayúsculas), los números, caracteres de
puntuación y de control (Retorno de carro, p. ej.)
Existen versiones de seis bits (la original) y de siete y ocho bits, que es la corriente
actualmente.
Set de caracteres de
Código ASCII.
Notar que corresponde
a la versión de 8 bits.
Ésta incluye la Ñ y el
subconjunto de
caracteres de impresión.
Set de caracteres de
Código ASCII.
Notar que
corresponde
a la versión de 7 bits.
ASCII es muy usado
en todos los sistemas
de comunicaciones
de datos
Otros códigos alfanuméricos
EBCDIC: Extended BCD Interchange Code fue desarrollado por
IBM. Actualmente es la única que lo usa en grandes sistemas.
UNICODE: Es el código mas usado actualmente para el manejo
de fuentes para procesamiento de palabras. Está definido por
ISO 10646 y permite la representación de múltiples alfabetos de
distintos idiomas.
Categoría 4
Códigos de instrucciones utilizados por los procesadores que hacen que estos realicen una determinada secuencia de
operaciones.
Ejemplo: El código de instrucción de Intel X86
MOV AX,BX
89D8 hex
MOV CL,05
B005
Códigos detectores y correctores de errores
Código de Hamming
Detecta y corrige un error. Ecuación que se debe cumplir:
= cantidad de bits de control
= cantidad de bits de información
Palabra a transmitir
Ejemplo:
Sea p=4
luego i= 11
y
m=15
Los bits de paridad ocupan los lugares que son potencia de dos
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
14 1 1
1
0
13 1 1
0
1
7
0 1
1
1
14
1 1 1
0
6
0 1
1
0
13
1 1 0
1
5
0 1
0
1
7
0 1 1
1
3
0 0
1
1
6
0 1 1
0
1
0 0
0
1
3
0 0 1
1
0 1
0
1
0 0 0
1
Operación mod 2
Distancia de Hamming
La distancia del Código es la mínima distancia entre los elementos.