Académique Documents
Professionnel Documents
Culture Documents
1 Introducción ---------------------------------------------------------------------------------------------------- 2
2 Unidades de medida para almacenamiento de datos ------------------------------------------------------ 2
3 Sistema de numeración decimal ----------------------------------------------------------------------------- 4
4 Sistemas de numeración más usuales ----------------------------------------------------------------------- 4
4.1 Sistema de numeración binario ------------------------------------------------------------------------ 4
4.1.1 Contar en binario con los dedos------------------------------------------------------------------ 5
4.2 Sistema de numeración octal --------------------------------------------------------------------------- 5
4.3 Sistema de numeración hexadecimal------------------------------------------------------------------ 6
4.3.1 Suma Hexadecimal -------------------------------------------------------------------------------- 7
5 Operaciones aritméticas en base dos ------------------------------------------------------------------------ 8
5.1 Suma y Resta --------------------------------------------------------------------------------------------- 8
5.2 Multiplicación binaria ----------------------------------------------------------------------------------- 9
5.3 División binaria ------------------------------------------------------------------------------------------ 9
6 Datos enteros representados con dígitos Decimales Codificados en Binario (BCD) ----------------10
6.1 Suma en BCD -------------------------------------------------------------------------------------------10
7 Representación de datos numéricos ------------------------------------------------------------------------11
7.1 Números con signo -------------------------------------------------------------------------------------11
7.1.1 Representación en signo-magnitud -------------------------------------------------------------11
7.1.2 Representación en complemento a 1 -----------------------------------------------------------12
7.1.2.1 Obtención del complemento a 1 de un número binario sin signo------------------------12
7.1.2.2 Representación del valor decimal de los números con signo en complemento a 1----12
7.1.3 Representación en complemento a 2 -----------------------------------------------------------13
7.1.3.1 Obtención del complemento a 2 de un número binario sin signo------------------------13
7.1.3.2 Representación del valor decimal de los números con signo en complemento a 2----13
7.2 Los números con decimales ---------------------------------------------------------------------------14
7.3 Números en coma flotante (Reales) ------------------------------------------------------------------15
7.3.1 Normalización IEEE 754 para la representación de datos de tipo real---------------------15
7.4 Representación de caracteres --------------------------------------------------------------------------16
8 Códigos digitales y paridad----------------------------------------------------------------------------------17
8.1 Código Gray ---------------------------------------------------------------------------------------------17
8.2 Código Johnson -----------------------------------------------------------------------------------------19
8.3 Códigos detectores de error----------------------------------------------------------------------------19
8.3.1 Códigos de paridad -------------------------------------------------------------------------------19
8.4 Tratamiento de errores ---------------------------------------------------------------------------------22
1 Introducción
La representación de la información en los computadores digitales persigue dos objetivos:
en primer lugar, procesarla, permitiendo su manipulación eficiente, para lo cual se han
ideado diferentes convenios, de los que veremos los más importantes; y en segundo,
asegurarla contra errores durante su almacenamiento o durante las transmisiones, lo que
se consigue incorporando en la codificación el empleo de la redundancia para detectar y
corregir dichos errores.
Prendido o apagado = 1 ó 0
Byte: Acrónimo de Binary Term (Término binario), es un grupo de 8 bits que el ordenador
utiliza para representar cada símbolo o carácter que conocemos, es decir un número, una
letra, un signo de puntuación, etc.
Con un byte, el ordenador puede representar 28 = 256 valores o caracteres diferentes.
Ejemplo: Para representar el número 348 ¿Cuántos Bytes necesita nuestra computadora?
3 4 8
Así:
1 KiloByte = 1024 Bytes
1 MegaByte = 1024 KiloBytes = 1024 x 1024 Bytes
1 GigaByte = 1024 MegaBytes = 1024 x 1024 KiloBytes …
1 1.024 8.192
Respuesta= Byte
También llamado sistema de numeración Base 2, utiliza dos dígitos para representar
cualquier cifra. Ellos son: 0, 1
Para comprender mejor el número 110101, aplicamos un proceso de conversión, que nos lo
muestre en sistema decimal.
27 26 25 24 23 22 21 20
1 x 25 + 1 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 1 * 20 = 32 + 16 + 0 + 4 + 0 + 1 = 53 decimal.
53 / 2 = 26 ------------------------------------------ Resto: 1
26 / 2 = 13 -------------------------------- Resto: 0
13 / 2 = 6 --------------------------- Resto: 1
6 / 2 = 3 --------------------- Resto: 0
3 / 2 = 1 -------------- Resto: 1
1 / 2 = 0 ------- Resto: 1
20 = 1 (Dedo pulgar)
21 = 2 (Dedo índice)
22 = 4 (Dedo corazón)
23 = 8 (Dedo anular)
24 = 16 (Dedo meñique)
También llamado sistema de numeración Base 8, utiliza ocho dígitos para representar
cualquier cifra. Ellos son:
0, 1, 2, 3, 4, 5, 6, 7
También llamado sistema de numeración Base 16, utiliza dieciséis dígitos para representar
cualquier cifra. Ellos son:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Ejemplo, C7A(16 = 12 ¤ 162 + 7 ¤ 161 + 10 ¤ 160 = 3194(10 ,ya que los valores de A y C en
el sistema de base 16 son 10 y 12, respectivamente.
La siguiente tabla recoge los primeros números naturales, expresados en algunos de esos sistemas y
en el decimal:
La suma puede hacerse directamente con números hexadecimales, teniendo en cuenta que los dígitos
hexadecimales de 0 a 9 son equivalentes a los digitos decimales de 0 a 9, y que los dígitos
hexadecimales de A hasta F son equivalentes a los números decimales 10 al 15. Cuando se suman dos
números hexadecimales, se usan las siguientes reglas.
I. En cualquier columna dada de una suma, pensar en los dos dígitos hexadecimales en términos
de su valor decimal. Por ejemplo, 516 = 510 y C16 = 1210
II. Si la suma de los dos dijitos es 15 o menor, reducir al dígito hexadecimal correspondiente.
III. Si la suma de los dígitos es mayor que 15 hay que reducir la suma que excede de 16 (restándole
a la suma la base 16) y pasar el acarreo de 1 a la siguiente columna (sumando el uno).
Ejemplo:
Sumar el siguiente número hexadecimal: DF + AC
D F
+ A C
18 B
13 Æ D 15 Æ F
+ 10 Æ A + 12 Æ C
23 +1 Æ 24 > 15 = 24-16= 8 acarreo 1 =18 27 Æ 27 > 15 = 27–16=11 ≈ B acarreo 1
↓
Acarreo de (F+C)
0+0=0
0+1=1
1+0=1
1 + 1 = 10 Æ pongo 0 y llevo 1
0-0=0
0 - 1 = 11 Æ pongo 1 y llevo 1
1-0=1
1-1=0
Y entonces, son válidas las reglas conocidas para las operaciones en base diez. Por ejemplo, en el
sistema binario natural, tenemos:
Para la resta se usa frecuentemente el método del complemento: en lugar de la resta propuesta, se halla
la suma correspondiente complementando el sustraendo (minuendo - sustraendo -> minuendo +
complemento (sustraendo), siendo el complemento el número resultante de cambiar cada cero por un
uno y viceversa), suprimiendo la cifra excedente, posiblemente aparecida por el arrastre, y sumando
una unidad al resultado obtenido en caso de que el excedente sea uno:
100101 minuendos
- 11011 sustraendo Æ Obtenemos el opuesto o complemento al sustraendo 11011 Æ 100100
100101 minuendos
+ 100100 complemento del sustraendo
1001001 Æ suprimiendo la cifra excedente y sumando el uno (001001 + 1) la respuesta es 001010
0x0=0
0x1=0
1x0=0
1x1=1
La multiplicación con números binarios se realiza de lamisca forma que con números decimales. Se
realizan los productos parciales, desplazando cada producto parcial una posición izquierda y luego se
suman dichos productos.
Ejemplo:
Solución:
(a) 11 3 (b) 111 7
x 11 x3 x 101 x5
11 9 111 35 Æ 100011
+ 11 000 .
1001 111___
1 00011
La división binaria sigue el mismo procedimiento que la división decimal, como muestra el ejemplo:
Decimal
110 |11____ 110 \11 Æ 1 6/3Æ2
- 11__ 1 0 bajo el cero y divido 0 / 11 como no se puede da cero en el cociente.
00 0
8 4 2 1 2 4 2 1 5 4 2 1 8 4 2 1 + 0011
D ígito D ecim al BC D N atural BC D A iken BC D 5421 BC D Ex-3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0
2 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1
3 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0
4 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1
5 0 1 0 1 1 0 1 1 1 0 0 0 1 0 0 0
6 0 1 1 0 1 1 0 0 1 0 0 1 1 0 0 1
7 0 1 1 1 1 1 0 1 1 0 1 0 1 0 1 0
8 1 0 0 0 1 1 1 0 1 0 1 1 1 0 1 1
9 1 0 0 1 1 1 1 1 1 1 0 0 1 1 0 0
Paso 1: Sumar los dos números BCD utilizando las reglas de la suma binaria vistas anteriormente.
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 (10, 11, 12, 13, 14, 15) y pasar al código 8421. Si se genera un acarreo al sumar el 6,
éste se suma al grupo de 4 bits siguiente.
Ejercicios:
¿Cómo representar a los binarios con signo + -? Esto es fácil ya que como solo existe dos signos basta
con indicar un bit para el signo, el bit corresponderá según sea el sistema, el más común es el que
reserva el bit que esta mas a la izquierda.
Estos son:
• Representación en signo-magnitud.
• Representación en complemento a 1
• Representación en complemento a 2
Binario Decimal
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 -0
1001 -1
1010 -2
1011 -3
1100 -4
1101 -5
1110 -6
1111 -7
Se observa aquí que existe dos valores para representar el cero 0000 cero positivo y 1000 cero
negativo, para evitar esta ambigüedades se ha adoptado casi universalmente el sistema de complemento
a 2.
Ejemplo:
Determinar el valor decimal del número binario con signo expresado como signo magnitud: 10010101.
Solución:
Los 6 bits de magnitud y sus pesos potencias de dos sumando los pesos de las posiciones donde hay 1s
tenemos: 16 + 4 + 1 = 21.
7.1.2.2 Representación del valor decimal de los números con signo en complemento a 1
Para números expresados en complemento a 1 en decimal hacer:
Solución:
Sumemos los pesos donde hay 1s.
-(1 x 27) + 1 x 26 + 1 x 25 + 1 x 23
-128 + 64 + 32 + 8 = - 24
El complemento a 2 de un numero binario se obtiene sumando 1 al bit de menor peso (LSB) del
complemento a 1.
Complemento 2 = (complemento a 1) + 1
I. Se empieza por la derecha con el LSB y se escriben los bits como están hasta encontrar el
primer 1, incluido este.
II. Se calcula el complemento a 1 de los bits restantes.
Ejemplo:
Calcular el complemento a 2 de 10111000, utilizando el método alternativo.
10111000
01001000
Complemento 1 ________ ___ Estos bits no varían
de los bits originales
7.1.3.2 Representación del valor decimal de los números con signo en complemento a 2
Ejemplo:
Determinar el valor decimales del número binario con signo expresado en complemento a 2.
10101010
Solución:
Binario Decimal
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 -8
1001 -7
1010 -6
1011 -5
1100 -4
1101 -3
1110 -2
1111 -1
Ejemplo: 17.25
• A la parte entera la dividimos entre la base a la que deseamos convertir repetidas veces hasta
que cociente es cero y ya no tenga mas datos en el dividendo:
17 / 2 = 8 resto 1
8/2=4 resto 0
4/2=2 resto 0
• A la parte decimal la multiplicamos por la base a la que deseamos convertir hasta que el dijito
de la derecha de la coma sea 00.
0.25 * 2 = 0.50 Æ tomo como binario el valor entero 0 (digito a la izquierda de la coma)
0.50 * 2 = 1.00 Æ tomo como binario el valor entero 1 (digito a la izquierda de la coma)
Así que el binario del número decimal 17.25 se representa como 10001.0100
Estos números se utilizan para reales, es decir números con decimales, la representación se realiza
siguiendo el siguiente formato:
sM.BsE
1. s es el signo + o –
2. M es la mantisa o parte significativa
3. B es la base, que en caso de binario es 2
4. E es el exponente, el cual puede tener signo s es decir sE.
La forma de utilizar los números en coma flotante es un computador consiste en utilizar el estándar
IEEE 754 el cual descompone un número de 32 bits así:
Los caracteres se representan generalmente usando un byte (8 bits). Existe la representación estándar
que se usa actualmente a nivel mundial, que es el juego de caracteres ASCII, anteriormente se usaban
otros juegos de caracteres como el EBCDIC.
En total son 127 los caracteres ASCII como no se representaban algunos caracteres de otros idiomas se
extendió al bit 8 y dar cabida a los caracteres ñ, á, é, í caracteres del español por lo que están por
encima de 127.
• Por ejemplo, la conversión del número 10110 a código Gray se hace del siguiente modo:
• Ejemplo, la conversión del numero en código Grey 11011 a binario es como sigue:
1 1 1 01 Gray
⁄ ⁄ ⁄ ⁄
↓ ⊕↓ ⊕ ↓ ⊕↓ ⊕↓
1⁄ 0⁄ 0⁄ 1⁄ 0 Binario
G ra y de G ra y d e G ra y de V alor B inario
2 bits 3 bits 4 bits d ecim al N atural
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 1 0 0 0 1 1 0 0 0 1
1 1 0 1 1 0 0 1 1 2 0 0 1 0
1 0 0 1 0 0 0 1 0 3 0 0 1 1
1 1 0 0 1 1 0 4 0 1 0 0
1 1 1 0 1 1 1 5 0 1 0 1
1 0 1 0 1 0 1 6 0 1 1 0
1 0 0 0 1 0 0 7 0 1 1 1
1 1 0 0 8 1 0 0 0
1 1 0 1 9 1 0 0 1
1 1 1 1 10 1 0 1 0
1 1 1 0 11 1 0 1 1
1 0 1 0 12 1 1 0 0
1 0 1 1 13 1 1 0 1
1 0 0 1 14 1 1 1 0
1 0 0 0 15 1 1 1 1
• Es un código continuo cíclico, llamado también “progresivo”, debido a que el número de unos
aumenta o disminuye progresivamente de una configuración a la siguiente.
• La cantidad de decimales que se pueden representar en código Johnson es (2 x n) donde n es el
numero de bits.
D íg ito d e c im a l C ó d ig o J o h n s o n
0 0 0 0 0 0
1 0 0 0 0 1
2 0 0 0 1 1
3 0 0 1 1 1
4 0 1 1 1 1
5 1 1 1 1 1
6 1 1 1 1 0
7 1 1 1 0 0
8 1 1 0 0 0
9 1 0 0 0 0
• Son códigos que permiten detectar errores de transmisión de los datos, errores que pueden
producirse debido a ruidos e interferencias que distorsionan las señales digitales, o por avería de
algún componente de la red de transmisión.
• Único error posible: poner un “0” donde debía haber un “1” y viceversa.
• Condición para poder detectar errores: que el código no use todas las configuraciones posibles
de sus bits.
• Distancia entre dos configuraciones binarias es el número de bits que deben modificarse en una
para obtener la otra.
• Paridad par: la configuración binaria tiene un número par de unos (si no tiene ningún uno,
también se considera de paridad par) (xor)
• Paridad impar: la configuración binaria tiene un número impar de unos (xor negada).
d 2
d 2
d3
d 2
d 1
d 1
d2
d 1
d 0
d 0
d1
d 0
p p
Comparador
de paridad de paridad
Señal
de error
p
Distancia Hamming de un código: mínima d entre dos palabras cualesquiera del código.
Ejemplo: