You are on page 1of 26

 

2. SISTEMAS DE NUMERACION, OPERACIONES Y


CODIGOS

 
ÍNDICE
2.1. SISTEMA DIGITAL Y BINARIO ......................................................................................... 4
2.1.1. SISTEMA DIGITAL ...................................................................................................... 4
2.1.2. SISTEMA BINARIO ..................................................................................................... 4
2.2. CONVERSIONES DECIMAL-BINARIO.............................................................................. 5
2.2.1. CONVERSION DECIMAL A BINARIO ........................................................................ 5
2.2.2. CONVERSIÓN DECIMAL (CON DECIMALES) A BINARIO....................................... 6
2.2.3. CONVERSION BINARIO A DECIMAL ........................................................................ 7
2.2.4. BINARIO A DECIMAL (CON PARTE FRACCIONARIA BINARIA) ............................. 7
2.3. ARITMETICA BINARIA ...................................................................................................... 8
2.3.1. SUMA BINARIA ........................................................................................................... 8
2.3.2. RESTA BINARIA ......................................................................................................... 9
2.3.3. MULTIPLICACION BINARIA ....................................................................................... 9
2.3.4. DIVISION BINARIA ................................................................................................... 10
2.4. COMPLEMENTO A 1 Y COMPLEMENTO A 2 DE LOS NUMEROS BINARIOS ........... 10
2.4.1. OBTENCION DEL COMPLEMENTO A 1 DE UN NUMERO BINARIO .................... 10
2.4.2. OBTENCION DEL COMPLEMENTO A 2 DE UN NÚMERO BINARIO .................... 10
2.5. NUMEROS CON SIGNO .................................................................................................. 11
2.5.1. EL BIT DEL SIGNO ................................................................................................... 11
2.5.2. SISTEMA SIGNO-MAGNITUD .................................................................................. 11
2.5.3. SISTEMA DEL COMPLEMENTO 1 .......................................................................... 11
2.5.4. SISTEMA DE COMPLEMENTO A 2 ......................................................................... 12
2.5.5. VALOR DECIMAL DE LOS NUMEROS CON SIGNO .............................................. 12
2.5.5.1. SIGNO-MAGNITUD........................................................................................... 12
2.5.5.2. COMPLEMENTO A 1 ........................................................................................ 13
2.5.5.3. COMPLEMENTO A 2 ........................................................................................ 14
2.6. NUMEROS HEXADECIMALES ........................................................................................ 14
2.6.1. CONVERSION BINARIO-HEXADECIMAL ............................................................... 15
2.6.2. CONVERSION HEXADECIMAL-BINARIO ............................................................... 15
2.6.3. CONVERSION HEXADECIMAL – BINARIO............................................................. 16
2.6.4. CONVERSION DECIMAL – HEXADECIMAL ........................................................... 16
2.7. NUMEROS OCTALES ...................................................................................................... 17
2.7.1. CONVERSION OCTAL-DECIMAL ............................................................................ 17
2.7.2. CONVERSION DECIMAL-OCTAL ............................................................................ 18
2.7.3. CONVERSION OCTAL-BINARIO ............................................................................. 18
2.7.4. CONVERSION BINARIO-OCTAL ............................................................................. 19
2.8. CODIGO DECIMAL BINARIO (BCD) ............................................................................... 19
2.8.1. EL CODIGO 8421...................................................................................................... 19
2.8.2. SUMA BCD ................................................................................................................ 20
2.9. CODIGOS DIGITALES Y PARIDAD ................................................................................ 22
2.9.1. CODIGO GRAY ......................................................................................................... 22
2.9.1.1. CONVERSION DE CODIGO BINARIO A CODIGO GRAY .............................. 22
2.9.1.2. CONVERSION DE GRAY A BINARIO .............................................................. 23
2.9.2. CODIGO ASCII.......................................................................................................... 23
2.9.3. METODO DE PARIDAD PARA LA DETECCION DE ERRORES ............................ 25
2.9.3.1. DETECCION DE UN ERROR ........................................................................... 26
 
2.1. SISTEMA DIGITAL Y BINARIO
2.1.1. SISTEMA DIGITAL
En el sistema de numeración decimal cada uno de los diez dígitos, de O hasta 9,
representa una determinada cantidad. Los diez símbolos (dígitos) no se limitan a expresar
solamente diez diferentes cantidades, ya que usamos varios dígitos en las posiciones adecuadas
dentro de un número para indicar la magnitud de la cantidad. Puede expresar cantidades hasta
nueve antes de quedarse sin dígitos: si se desea expresar una cantidad mayor que nueve, se usan
dos o más dígitos, y la posición de cada uno de ellos dentro del número le dice la magnitud que
representa. Por ejemplo, si desea escribir la cantidad veintitrés, usará (en sus respectivas
posiciones dentro del número) el dígito 2 para representar la cantidad de veinte, y el dígito 3 para
representar la cantidad tres.

La posición de cada dígito en un número decimal indica la magnitud de la cantidad


representada, y se le puede asignar un peso. Los pesos para los números enteros son potencias
positivas de diez, que aumentan de derecha a izquierda, comenzando por 10^0 = 1.
… 10^5 10^4 10^3 10^2 10^1 10^0

Para números fraccionarios, los pesos son potencias negativas de diez que aumentan de
izquierda a derecha, comenzando por 10^-1.
10^2 10^1 10^0 . 10^-1 10^-2 10^-3

2.1.2. SISTEMA BINARIO


El sistema de numeración binario es simplemente otra forma de representar magnitudes. El
sistema binario es menos complicado que el sistema decimal ya que sólo tiene dos dígitos. Al
principio puede parecer más complicado por no ser familiar. El sistema decimal con sus diez dígitos
es un sistema en base diez, el sistema binario con sus dos dígitos es un sistema en base dos. Los
dos dígitos binarios (bits) son 1 y 0. La posición de un 1 o un 0 en un número binario indican su
peso, o valor dentro del número, así como la posición de un dígito decimal determina el valor de
ese dígito. Los pesos de un número binario están basados en las potencias de dos.
Su base es el dos y se escribe de la siguiente manera:
2^5 2^4 2^3 2^2 2^1 2^0 . 2^-1 2^-2 2^-3 2^-4

2.2. CONVERSIONES DECIMAL-BINARIO


2.2.1. CONVERSION DECIMAL A BINARIO
Un método sistemático para convertir a binario números enteros decimales es el proceso
de la división sucesiva por 2. Por ejemplo, para convertir a binario el numero decimal 12,
comenzarnos dividiendo 12 entre 2. Luego cada cociente resultante se divide por 2 hasta que se
obtiene un cociente cuya parte entera es 0. Los restos generados en cada división forman el
número binarios. El primer resto es el bit menos significativo
(LSB) del número binario, y el último resto es el bit más significativo (MSB).
Ejemplo
Transformar el número decimal 131 en binario. El método es muy simple:
131 dividido entre 2 da 65 y el resto es igual a 1
65 dividido entre 2 da 32 y el resto es igual a 1
32 dividido entre 2 da 16 y el resto es igual a 0
16 dividido entre 2 da 8 y el resto es igual a 0
8 dividido entre 2 da 4 y el resto es igual a 0
4 dividido entre 2 da 2 y el resto es igual a 0
2 dividido entre 2 da 1 y el resto es igual a 0
1 dividido entre 2 da 0 y el resto es igual a 1
-> Ordenamos los restos, del último al primero: 10000011

2.2.2. CONVERSIÓN DECIMAL (CON DECIMALES) A BINARIO


Multiplicación sucesiva por 2. Como hemos visto, los números decimales enteros se
pueden convertir a números binarios mediante la división sucesiva por 2. Los números decimales
fraccionarios pueden convertirse en números binarios mediante la multiplicación sucesiva por 2.
Por ejemplo, para convertir a binario el número decimal fraccionario 0,315, empezamos
multiplicando por 2, y después se multiplica cada parte fraccional resultante del producto por 2,
hasta que el producto fraccionario sea cero o hasta que se alcance el número deseado de
posiciones decimales. Los dígitos acarreados, o acarreos, generados por las multiplicaciones dan
lugar al número binario. El primer acarreo que se obtiene es el MSB, y el último acarreo es el LSB
Ejemplo
0,3125 (decimal) => 0,0101 (binario).
Proceso:
0,3125 · 2 = 0,625 => 0
0,625 · 2 = 1,25 => 1
0,25 · 2 = 0,5 => 0
0,5 ·2=1 => 1
En orden: 0101 -> 0,0101 (binario)

2.2.3. CONVERSION BINARIO A DECIMAL


El valor decimal de cualquier número binario se puede determinar sumando los pesos de
todos los bits que son 1, y descartando los pesos de todos los bits que son 0.

Se puede optar por utilizar los valores que presenta cada posición del número binario a ser
transformado, comenzando de derecha a izquierda, y sumando los valores de las posiciones que
tienen un 1.

Ejemplo
El número binario 1010010 corresponde en decimal al 82. Se puede representar de la siguiente
manera:

Entonces se suman los números 64, 16 y 2:

2.2.4. BINARIO A DECIMAL (CON PARTE FRACCIONARIA BINARIA)


1. Inicie por el lado izquierdo (la primera cifra a la derecha de la coma), cada número
multiplíquelo por 2 elevado a la potencia consecutiva a la inversa (comenzando por la
potencia -1, 2-1).
2. Después de realizar cada una de las multiplicaciones, sume todas y el número resultante
será el equivalente al sistema decimal.
Ejemplos
 0,101001 (binario) = 0,640625(decimal). Proceso:
1 · 2 elevado a -1 = 0,5
0 · 2 elevado a -2 = 0
1 · 2 elevado a -3 = 0,125
0 · 2 elevado a -4 = 0
0 · 2 elevado a -5 = 0
1 · 2 elevado a -6 = 0,015625
La suma es: 0,640625

2.3. ARITMETICA BINARIA


La aritmética binaria es esencial en todas las computadoras digitales y en muchos otros
tipos de sistemas digitales. Para entender los sistemas digitales, debe conocer los principios
básicos de la suma, sustracción, multiplicación y división binarias

2.3.1. SUMA BINARIA


Las posibles combinaciones al sumar dos bits son:

 0+0=0
 0+1=1
 1+0=1
 1 + 1 = 0 (Con acarreo de 1)

Observe que las tres primeras reglas dan lugar a un resultado de un único bit, y la cuarta
regla, la suma de dos ls, da lugar a 2 en binario (10), Cuando se suman números binarios, teniendo
en cuenta la última regla se obtiene en la columna dada la suma 0 y un acarreo de 1 que pasa a la
siguiente columna de la izquierda, tal y como se muestra en la siguiente suma de 11 + 1:

Ejemplo

Se puede convertir la operación binaria en una operación decimal, resolver la decimal, y


después transformar el resultado en un (número) binario. Operamos como en el sistema decimal:
comenzamos a sumar desde la derecha, en nuestro ejemplo, 1 + 1 = 10, entonces escribimos 0 en
la fila del resultado y llevamos 1 (este "1" se llama acarreo o arrastre). A continuación se suma el
acarreo a la siguiente columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas la columnas
(exactamente como en decimal).

2.3.2. RESTA BINARIA


Las cuatro reglas básicas para la resta de números binarios son:
 0-0=0
 1-0=1
 1-1=0
 0 - 1 = 1 (se transforma en 10 - 1 = 1) (en sistema decimal equivale a 2 - 1 = 1)
La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada
de la posición siguiente: 0 - 1 = 1 y me llevo 1, lo que equivale a decir en el sistema decimal, 2 - 1 =
1.

Ejemplo:

2.3.3. MULTIPLICACION BINARIA


Las cuatro reglas básicas de la multiplicación de bits son las siguientes:
 0x0=0
 0x1=0
 1x0=0
 1x1=1
La multiplicación con números binarios se realiza de la misma forma que con números
decimales. Se realizan los productos parciales, desplazando cada producto parcial una posición a
la izquierda, y luego se suman dichos productos. El Ejemplo ilustra este procedimiento, y muestra
como referencia la multiplicación decimal equivalente.
2.3.4. DIVISION BINARIA
La división binaria sigue el mismo procedimiento que la división decimal, como muestra el
Ejemplo. Obsérvese que también se facilitan los equivalentes decimales.

2.4. COMPLEMENTO A 1 Y COMPLEMENTO A 2 DE LOS NUMEROS


BINARIOS
El complemento a 1 y el complemento a 2 de un número binario son importantes porque
permiten la representación de números negativos. La aritmética en complemento a 2 se usa
comúnmente en las computadoras para manipular los números negativos.

2.4.1. OBTENCION DEL COMPLEMENTO A 1 DE UN NUMERO BINARIO


El complemento a 1 de un número binario se obtiene cambiando todos los 1s por 0s, y
todos los 0s por 1s, como se ilustra a continuación:

2.4.2. OBTENCION DEL COMPLEMENTO A 2 DE UN NÚMERO BINARIO


El complemento a 2 de un número binario se obtiene sumando 1 al LSB del complemento a
1, El ejemplo muestra cómo se calcula el complemento a 2.
2.5. NUMEROS CON SIGNO
Los sistemas digitales, tales como la computadora, deben ser capaces de manejar
números positivos y negativos. Un número binario con signo queda determinado por su magnitud y
su signo. El signo indica si un número es positivo o negativo, y la magnitud es el valor del número.
Existen tres formatos binarios para representar los números enteros con signo: signo-magnitud,
complemento a 1 y complemento a 2.

2.5.1. EL BIT DEL SIGNO


El bit más a la izquierda en un número binario con signo es el bit de signo, que indica si el
número es positivo o negativo.
Se utiliza un 0 para el signo positivo y un 1 para el signo negativo

2.5.2. SISTEMA SIGNO-MAGNITUD


Cuando un número binario con signo se representa en formato signo-magnitud, el bit más a
la izquierda es el bit de signo y los bits restantes son los bits de magnitud. Los bits de magnitud
son el número binario real (no complementado) tanto para los números positivos como para los
negativos. Por ejemplo, el número decimal +25 se expresa, utilizando el sistema de signo-
magnitud, como un número binario con signo de 8 bits como sigue:

Obsérvese que la única diferencia entre +25 y -25 es el bit de signo, ya que los bits de
magnitud representan el binario real tanto para números positivos como negativos.
En el sistema signo-magnitud, un número negativo tiene los mismos bits de magnitud que el
correspondiente número positivo, pero el bit de signo es 1 en lugar de 0.

2.5.3. SISTEMA DEL COMPLEMENTO 1


Los números positivos en el sistema del complemento a 1 se representan de la misma forma
que los números positivos en el formato signo-magnitud. Sin embargo, los números negativos son
el complemento a I del correspondiente número positivo. Por ejemplo, usando ocho bits, el número
decimal -25 se expresa corno el complemento a I de +25 (00011001), es decir:

En el sistema del complemento a 1, un número negativo es el complemento 1 del


correspondiente número positivo.
2.5.4. SISTEMA DE COMPLEMENTO A 2
Los números positivos en el sistema del complemento a 2 se representan de la misma
forma que en los sistemas de complemento a 1 y de signo-magnitud. Los números negativos son el
complemento a 2 del correspondiente número positivo. De nuevo, usando ocho bits, tomamos -25
y lo expresarnos como el complemento a 2 de +25 (00011001), es decir,

En el sistema del complemento a 2, un número negativo es el complemento a 2 del


correspondiente número positivo.
Ejemplo:

2.5.5. VALOR DECIMAL DE LOS NUMEROS CON SIGNO


2.5.5.1. SIGNO-MAGNITUD
Los valores decimales de los números positivos y negativos en el sistema de signo-
magnitud se determinan sumando los pesos de todas las posiciones de los bits de magnitud,
cuando son 1s, e ignorando aquellas posiciones en las que haya ceros. El signo se determina por
medio del examen del bit de signo. El ejemplo ilustra este proceso.
2.5.5.2. COMPLEMENTO A 1
Los valores decimales de los números positivos en el sistema de complemento a 1. Se
determinan sumando los pesos de todas las posiciones de bit donde haya 1s, y se ignoran aquellas
posiciones donde haya ceros. Los valores decimales los números negativos se determinan
asignando el valor negativo al peso del bit de signo, y sumando todos los pesos donde haya 1s y
añadiendo luego 1 resultado. El Ejemplo ilustra esto.
2.5.5.3. COMPLEMENTO A 2
Los valores decimales de los números positivos y negativos en el sistema complemento a 2
se determinan sumando los pesos de todas las posiciones de bit donde haya 1s e ignorando
aquellas posiciones donde haya ceros. El peso del bit del signo es un numero negativo viene
determinado por su valor negativo El ejemplo ilustra esto.
Ejemplo:
Determine los valores decimales de los números binarios con signo expresados en
complemento a 2
a) 01010110 b) 10101010

2.6. NUMEROS HEXADECIMALES


El sistema de numeración hexadecimal consta de dieciséis dígitos y se usan
fundamentalmente como una forma simplificada de representar o escribir los números binarios, ya
que es muy fácil la conversión entre binario y hexadecimal. Como probablemente se habrá podido
comprobar, los números binarios largos son difíciles de leer y escribir, ya que es fácil omitir o
transponer un bit. Puesto que las computadoras y microprocesadores sólo entienden los 1s y los
0s, es necesario emplear estos dígitos cuando se programa en “lenguaje máquina". Imaginemos
tener que escribir una instrucción de sesenta bits para un sistema de microprocesador utilizando 1s
y 0s. Es mucho más efectivo utilizar los números hexadecimales u octales.
La mayoría de los sistemas digitales procesan grupos de datos binarios que son múltiplos
de cuatro bits, lo que hace al número hexadecimal muy adecuado, ya que cada dígito hexadecimal
se representa mediante un número binario de 4 bits, como se puede ver en la Tabla
2.6.1. CONVERSION BINARIO-HEXADECIMAL
La conversión de un número binario en hexadecimal es un procedimiento muy sencillo.
Simplemente se parte el número binario en grupos de 4 bits, comenzando por el bit más a la
derecha, y se reemplaza cada grupo de 4 bits por su símbolo hexadecimal equivalente, como se
ilustra en el Ejemplo

2.6.2. CONVERSION HEXADECIMAL-BINARIO


Para convertir un número hexadecimal en un número binario se realiza el proceso inverso,
reemplazando cada símbolo hexadecimal por el grupo de cuatro bits adecuado, como ilustra el
Ejemplo
2.6.3. CONVERSION HEXADECIMAL – BINARIO
Un método para encontrar el equivalente decimal de un número hexadecimal es, primero,
convertir el número hexadecimal a binario, y después, el binario a decimal. El Ejemplo ilustra este
procedimiento.

2.6.4. CONVERSION DECIMAL – HEXADECIMAL


La división sucesiva por 16 de un número decimal generará el número hexadecimal
equivalente formado por los restos de las divisiones. El primer resto que se genera es el dígito
menos significativo (LSD). Cada división sucesiva por 16 dará un resto que será un dígito del
número hexadecimal equivalente. Este procedimiento es similar a la división sucesiva por 2 para la
conversión decimal-binario. El Ejemplo ilustra el procedimiento. Se observa que cuando un
cociente tiene parte fraccionaria, ésta se multiplica por el divisor para obtener el resto
2.7. NUMEROS OCTALES
Como el sistema hexadecimal, el sistema octal proporciona un método adecuado para
expresar los códigos y números binarios. Sin embargo, se usa menos frecuentemente que el
hexadecimal en las computadoras y microprocesadores para expresar magnitudes binarias con
propósitos de entrada y salida.
El sistema de numeración octal está formado por ocho dígitos, que son:
0,1.2, 3.4, 5, 6,7
Para contar por encima de 7, añadimos otra columna y continuamos así:
10, 11, 12, 13, 14. 15, 16, 17, 20,21
Y así sucesivamente. Contar en octal es parecido a contar en decimal, excepto que los dígitos 8 y
9 no se usan. Para distinguir los números octales de los números decimales y hexadecimales,
utilizaremos el subíndice 8 para indicar un número octal. Por ejemplo, 158 es equivalente a 1310 en
decimal y a D en hexadecimal.

2.7.1. CONVERSION OCTAL-DECIMAL


Puesto que el sistema de numeración octal es un sistema en base ocho, cada posición
sucesiva de dígito es una potencia superior de ocho, empezando por el dígito situado más a la
derecha con 80, La evaluación de un número octal en términos de su equivalente decimal se
consigue multiplicando cada dígito por su peso y sumando los productos, como se muestra a
continuación para 23748:
2.7.2. CONVERSION DECIMAL-OCTAL
Un método para convertir un número decimal en un número octal es el método de la
división sucesiva por 8, que es parecido al método utilizado en la conversión a binario o a
hexadecimal de los números decímales. Para mostrar cómo se hace, convertimos a octal el
número decimal 359. Cada división sucesiva por 8 da un resto que será un dígito del número octal
equivalente. El primer resto que se genera es el dígito menos significativo.

2.7.3. CONVERSION OCTAL-BINARIO


Puesto que cada dígito octal se puede representar mediante un número binario de 3
dígitos, es fácil convertir a binario un número octal. Cada digito octal se representa mediante tres
bits. Para convertir un número octal en un número binario, simplemente se reemplaza cada digito
octal por el correspondiente grupo de tres bits. Este procedimiento se ilustra en el Ejemplo.
2.7.4. CONVERSION BINARIO-OCTAL
La conversión de un número binario a un número octal es el inverso de la conversión de
octal a binario. El procedimiento es el siguiente: se comienza por el grupo de tres bits más a la
derecha y, moviéndose de derecha a izquierda, se convierte cada grupo de 3 bits en el dígito octal
equivalente. Si para el grupo más a la izquierda no hay disponibles tres bits, se añaden uno o dos
ceros para completar el grupo. Estos ceros no afectan al valor del número binario.

2.8. CODIGO DECIMAL 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. Puesto que en el sistema BCD sólo existen diez
grupos de código, es muy fácil convertir entre decimal y BCD. Como nosotros leemos y escribimos
en decimal, el código BCD proporciona una excelente interfaz para los sistemas binarios.

2.8.1. EL CODIGO 8421


El código 8421 es un tipo de código decimal binario (BCD). Código decimal binario significa
que cada dígito decimal, de 0 hasta 9, se representa mediante un código binario de cuatro bits. La
designación 8421 indica los pesos binarios de los cuatro bits (23, 22, 21, 20). La facilidad de
conversión entre los números en código 8421 y los familiares números decimales es la principal
ventaja de este código. Todo lo que hay que recordar sobre las diez combinaciones binarias que
representan los diez dígitos decimales. El código 8421 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.
Códigos no válidos. Deberíamos saber que, con cuatro dígitos, se pueden representar
dieciséis números (desde 0000 hasta 1111), pero en el código 8421, sólo se usan diez de ellos.
Las seis combinaciones que no se emplean (1010, 1011, 1100, 1101, 1110 Y 1111) no son válidas
en el código BCD 8421.
Para expresar cualquier número decimal en BCD, simplemente reemplazar cada dígito
decimal por el apropiado código de 4 bits, tal como muestra el Ejemplo.
Es igualmente sencillo determinar el número decimal a partir del código BCD. Se comienza
por el bit más a la derecha y se divide el código en grupos de cuatro bits. Después se escribe el
dígito decimal representado por cada grupo de 4 bits. El Ejemplo ilustra esto.

2.8.2. SUMA BCD


BCD es un código numérico y puede utilizarse en operaciones aritméticas. La suma es la
más importante de estas operaciones, ya que las otras tres operaciones (sustracción, multiplicación
y división) se pueden llevar a cabo utilizando la suma. A continuación, vamos a ver cómo se suman
dos números BCD:
 Paso 1. Sumar los dos números BCD utilizando las reglas de la suma binaria vistas
 en la Sección 2.4.
 Paso 2. Si una suma de 4 bits es igual o menor que 9, es un número BCD válido.
 Paso 3. Si una suma de 4 bits es mayor que 9, o si genera 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 y pasar al código 8421. Si se genera un acarreo al sumar 6, éste se
suma al grupo de 4 bits siguiente.
El Ejemplo ilustra la suma en BCD para los casos en que la suma en cada columna de 4
bits es igualo menor que 9 y, por tanto, las sumas de 4 bits son números BCD válidos.
El Ejemplo ilustra el procedimiento en el caso de que se produzcan sumas no válidas
(mayores que 9 o que generen acarreo).
2.9. CODIGOS DIGITALES Y PARIDAD
Existen muchos códigos especializados que se usan en los sistemas digitales. Acabamos
de aprender el código BCD; ahora vamos a ver algunos otros. Algunos códigos son estrictamente
numéricos, como BCD, y otros son alfanuméricos, es decir, se utilizan para representar números,
letras, símbolos e instrucciones. En esta sección se presentan el código Gray y el código ASCII.
También se cubre la detección de errores en los códigos mediante el bit de paridad.

2.9.1. CODIGO GRAY


El código Gray es un código sin pesos y no aritmético, es decir, no existen pesos
específicos asignados a las posiciones de los bits. La característica más importante del código
Gray es que sólo varía un bit de un código al siguiente. Esta propiedad es importante en muchas
aplicaciones, tales como los codificadores de eje de posición, en los que la susceptibilidad de error
aumenta con el número de cambios de bit entre números adyacentes dentro de una secuencia.
La Tabla presenta el código Gray de cuatro bits para los
números decimales de 0 a 15. Corno referencia se muestran
también en la tabla los números binarios. Como en los números
binarios, el código Gray puede tener cualquier número de bits.
Obsérvese que, en este código, sólo cambia un bit entre los
sucesivos números. Por ejemplo, para pasar del decimal 3 al 4, el
código Gray lo hace de 0010 a 0110, mientras que el código
binario lo hace de 0011 a 0100, cambiando tres bits.
En el código Gray, el único bit que cambia es el tercer bit de la
derecha, los restantes permanecen igual.

2.9.1.1. CONVERSION DE CODIGO BINARIO A CODIGO GRAY


Algunas veces, la conversión de código binario a código Gray resulta útil. Las siguientes
reglas explican cómo convertir un número binario en un número en código Gray:
1. El bit más significativo (el que está más a la izquierda, MSB) en el código Gray es el mismo
que el correspondiente MSB del número binario.
2. Yendo de izquierda a derecha, sumar cada par adyacente de los bits en código binario para
obtener el siguiente bit en código Gray. Los acarreos deben descartarse.
Por ejemplo, la conversión del número binario 10110 a código Gray se hace del siguiente
modo:
2.9.1.2. CONVERSION DE GRAY A BINARIO
Para convertir de código Gray a binario, se utiliza un método similar, pero con algunas diferencias.
Se aplican las siguientes reglas:
1. El bit más significativo (bit más a la izquierda) en el código binario es el mismo que el
correspondiente bit en código Gray.
2. A cada bit del código binario generado se le suma el bit en código Gray de la siguiente
posición adyacente. Los acarreos se descartan.
Por ejemplo, la conversión del número en código Gray 11011 a binario es como sigue:

Ejemplos:

2.9.2. CODIGO ASCII


El American Standard Code for Information Interchange (ASCII, código estándar americano
para el intercambio de información) es un código alfanumérico universalmente aceptado, que se
usa en la mayoría de las computadoras y otros equipos electrónicos. La mayor parte de los
teclados de computadora se estandarizan de acuerdo con el código ASCII, y cuando se pulsa una
letra, un número o un comando de control, es el código ASCII el que se introduce en la
computadora. El código ASCII dispone de 128 caracteres que se representan mediante un código
binario de 7 bits. Realmente, el código ASCII puede considerarse como un código de 8 bits en el
que el MSB siempre es 0. En hexadecimal, este código de 8 bits va de 00 hasta 7F. 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. Ejemplos de caracteres de control son el carácter nulo,
avance de línea, inicio de texto y escape. Los demás caracteres son símbolos gráficos que pueden
imprimirse o mostrarse en pantalla, e incluyen las letras del alfabeto (mayúsculas y minúsculas),
los diez dígitos decimales, los signos de puntuación y otros símbolos comúnmente utilizados. La
Tabla siguiente presenta un listado del código ASCII, con su representación decimal, hexadecimal
y binaria para cada carácter y símbolo. En la primera columna de la tabla se enumeran los
nombres de los 32 caracteres de control (en hexadecimal, de 00 hasta 1F), y en las restantes
columnas se muestran los símbolos gráficos (en hexadecimal, de 20 hasta 7F).
Ejemplo:

2.9.3. METODO DE PARIDAD PARA LA DETECCION DE ERRORES


Muchos sistemas emplean un bit de paridad como medio para la detección de errores de
bit. Cualquier grupo de bits contiene un número par o impar de 1s. Un bit de paridad se añade al
grupo de bits para hacer que el número total de 1s en el grupo sea siempre par o siempre impar.
Un bit de paridad par hace que el número total de 1s sea par, y un bit de paridad impar hace que el
número total de 1s del grupo sea impar. Un determinado sistema puede funcionar con paridad par
o impar, pero no con ambas. Por ejemplo, si un sistema trabaja con paridad par, una comprobación
que se realice en cada grupo de bits recibidos tiene
que asegurar que el número total de 1s en ese grupo
es par. Si hay un número impar de 1s, quiere decir que
se ha producido un error. Vamos a ver cómo se
asocian los bits de paridad a un código.
La Tabla enumera los bits de paridad de cada número
BCD, tanto en el caso de paridad par como de paridad
impar. El bit de paridad para cada número BCD se
indica en la columna P.
El bit de paridad se puede añadir al principio o al final del código, dependiendo del diseño
del sistema. Obsérvese que el número total de 1s, incluyendo el bit de paridad, siempre es par
para paridad par, y siempre es impar para paridad impar.

2.9.3.1. DETECCION DE UN ERROR


Un bit de paridad facilita la detección de un único error de bit (o de cualquier número impar
de errores, lo cual es muy improbable), pero no puede detectar dos errores dentro de un grupo. Por
ejemplo, supongamos que deseamos transmitir el código BCD 0101 (el método de paridad puede
usarse con cualquier número de bits, ahora usamos cuatro con propósitos de ilustración). El código
total transmitido incluyendo el bit de paridad par es:

Ahora, supongamos que se ha producido un error en el tercer bit de la izquierda (el 1 se


transmite como O) como sigue:

Cuando se recibe este código, la circuitería de comprobación de paridad determina que


sólo hay un 1(impar), cuando debería haber un número par de 1s. Puesto que, en el código
recibido no aparece un número par de 1s, esto indica que se ha producido un error. Un bit de
paridad impar también facilita de forma similar la detección de un único error en un grupo de bits
dado.
Ejemplo:

You might also like