Вы находитесь на странице: 1из 22

CAPÍTULO 2

REPRESENTACIÓN DE LA INFORMACIÓN

La información que gestionan y tratan los sistemas digitales es fun-


damentalmente binaria, por lo que para su estudio es fundamental tener
las nociones básicas de la representación de la información y su codifi-
cación, en especial de los denominados sistemas digitales con numera-
ción binaria (en base 2) y su aritmética.
Dentro de este capítulo se estudian además las propiedades de distin-
tos tipos de códigos, así como los principios de conversión entre ellos. Se
analizan en detalle algunos de los códigos más usuales en los sistemas de
información, como son los binarios, decimales, octal y hexadecimal.

2.1. CONCEPTO DE BIT


Copyright © ${Date}. ${Publisher}. All rights reserved.

El concepto de bit (y por extensión, el sistema binario) es un sistema


de numeración en base dos, introducido en el siglo XVII por Leibniz.
El bit es la unidad básica de información, que en este sistema digital
puede tener exclusivamente dos valores o símbolos distintos, el 0 y el 1,
para expresar cualquier magnitud numérica.
La principal ventaja de un sistema de numeración basado en dos úni-
cos símbolos distintos es su sencillez, a la hora de realizar operaciones y
representarlas, y a la elevada cantidad de analogías que se pueden buscar
en el mundo real de funcionamiento con sólo dos símbolos (abierto –
cerrado, blanco – negro, encendido – apagado, luz – oscuridad, etc.). Sin
embargo, presenta una dificultad añadida, que es el elevado número de
unidades (o bits) necesarios para representar una información real.
30 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I

2.2. REPRESENTACIÓN DE LOS NÚMEROS

2.2.1. Sistemas posicionales. Sistema decimal


La mayoría de los sistemas de numeración utilizados en la actualidad
están basados en sistemas posicionales, siendo éstos del tipo polino-
mial.
Un número se define en este sistema de numeración como una cadena
de dígitos afectado cada uno de ellos por un factor que depende de la
posición que ocupa dentro de la sucesión de números.
Un sistema de numeración del tipo polinomial define números en
una base predefinida, para llevar a cabo la representación de los mismos.
Así, un número se define por una secuencia de dígitos, en que el valor de
cada uno de ellos depende de su posición en la secuencia, de forma orde-
nada. Cada uno de los dígitos ocupa una posición definida respecto a un
origen (la coma en los países latinos o el punto en los países de habla
inglesa). Además, se suelen poner indicadores de posición para determi-
nar las posiciones positivas respecto al origen (puntos en los países lati-
nos y comas en los de habla inglesa).
Así, un posible número sería el 12345,67 (o el 12345.67 en Estados
Unidos o Inglaterra), que como se verá más adelante puede estar codifi-
cado en distintas bases o sistemas de numeración. Cada uno de los dígitos
tiene un valor predeterminado en función de su posición y es diferente de
los demás.
La combinación de distintos caracteres en un sistema de numera-
ción constituye la base del mismo. En el sistema decimal, el más extendi-
do actualmente en nuestra cultura occidental, se tienen diez caracteres
distintos para expresar los caracteres básicos del sistema de numera-
ción. La Tabla 2.1 muestra algunos de los sistemas de numeración más
Copyright © ${Date}. ${Publisher}. All rights reserved.

empleados en sistemas informáticos.

TABLA 2.1
Ejemplos de diversos sistemas de numeración

Sistema Base Dígitos

Binario 2 0, 1
Octal 8 0, 1, 2, 3, 4, 5, 6, 7
Decimal 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Hexadecimal 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
REPRESENTACIÓN DE LA INFORMACIÓN 31

El valor numérico expresado por una combinación de dígitos, en


una base de numeración dada, depende del valor de los dígitos o cifras
que lo componen, y de la posición de cada uno de ellos respecto del pun-
to de referencia.
Cada posición del dígito tiene un valor denominado peso, que aumen-
ta de derecha a izquierda según potencias sucesivas de la base b del sis-
tema de numeración empleado. Dichas potencias corresponden a la posi-
ción i del dígito dentro de la sucesión, siendo su valor cero aquella
posición situada en primer lugar a la izquierda de la posición de origen,
tomando valores enteros crecientes a medida que el desplazamiento es en
posiciones situadas a la izquierda o valores enteros decrecientes si el
desplazamiento es a la derecha.
El valor del peso es bi.
La representación de un número cualquiera N, expresado en base b
mediante una sucesión de dígitos ai, los cuales p son enteros y q fraccio-
narios, será la que se muestra en la expresión [2.1].

N(b = ap–1ap–2 … ai … a2a1a0, a–1a–2 … a– q (b


[2.1]

Número ap–1 ap–2 … ai … a2 a1 a0, a–1 a–2 … a– q


Posición p–1 p–2 … i … 2 1 0 –1 –2 … –q
Peso b p–1 b p–2 … bi … b2 b1 b0 b–1 b–2 … b–q

siendo:

p > i ≥ –q
b>1
Copyright © ${Date}. ${Publisher}. All rights reserved.

b > ai ≥ 0

y donde ai representa el valor decimal del carácter o dígito situado en la


posición i.
En el caso particular del sistema decimal, cualquier número real deci-
mal N con p dígitos enteros y q fraccionarios, expresado en base b, siendo
ai el valor decimal del carácter o dígito situado en la posición i, adopta el
desarrollo polinomial, representado en la expresión [2.2], denominada
ecuación general decimal de los sistemas de numeración.

N(10 = ap–1bp–1 + ap–2bp–2 +… + aibi +…+ a1b1 + a0b0 + a–1b–1 +… + a– qb– q [2.2]
32 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I

PROBLEMA RESUELTO 2-1

Calcular el valor decimal del número binario N(2 = 11011,01 (2

SOLUCIÓN

El número del enunciado es binario, o en base dos (b = 2), con cinco


cifras enteras (p = 5) y dos fraccionarias (q = 2).

N(10 = 1 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 1 · 20 + 0 · 2–1 + 1 · 2–2 = 27,25(10

PROBLEMA RESUELTO 2-2

Calcular el valor decimal del número octal N(8 = 642 (8


Copyright © ${Date}. ${Publisher}. All rights reserved.

SOLUCIÓN

El número del enunciado es octal, o en base ocho (b = 8), con tres


cifras enteras (p = 3) y cero fraccionarias (q = 0).
N(10 = 6 · 82 + 4 · 81 + 2 · 80 = 384 + 32 + 2 = 418(10

PROBLEMA RESUELTO 2-3

Calcular el valor decimal del número hexadecimal N(16 = 170F,F (16


REPRESENTACIÓN DE LA INFORMACIÓN 33

SOLUCIÓN

El número del enunciado es hexadecimal, o en base dieciséis (b = 16),


con cuatro cifras enteras (p = 4) y una fraccionaria (q = 1).

N(10 = 1 · 163 + 7 · 162 + 0 · 161 + 15· 160 + 15 · 16–1 =


= 4096 + 1792 + 0 + 15 + 0,9375 = 5903,9375(10

2.2.2. Elección del sistema de numeración


Cuanto mayor sea la base del sistema, mayor será el número de sím-
bolos o guarismos diferentes que se pueden utilizar (tantos como el valor
numérico de la base) y menor el número de cifras que se necesitarán para
representar un valor o cantidad. Así, la mayor cantidad que se puede
expresar con n dígitos, en una base b, será la indicada en la expresión
[2.3].

Nmáx (b = bn – 1 [2.3]

Sin embargo, cuanto menor es la base más sencillas son las reglas que
se siguen para los cálculos aritméticos y menos símbolos son necesarios
para detectar los cambios en los circuitos electrónicos, consiguiéndose
que éstos sean también más simples.
Otra consideración a tener en cuanta es que la tensión es una magni-
tud de naturaleza analógica, por lo que un cambio de nivel lógico Vn a
Vn + 2 necesariamente debe tomar valores intermedios como Vn + 1; si esta
tensión fuera un nivel lógico válido, el sistema no podría realizar transi-
ciones directamente de Vn a Vn + 2, presentando errores.
Desde el punto de vista económico, el mejor sistema de numeración
Copyright © ${Date}. ${Publisher}. All rights reserved.

será el que menos componentes precise para la representación de un


número. Si se necesitara representar d dígitos distintos en un sistema de
base b mediante conmutadores, sería preciso n conmutadores de b posi-
ciones, cumpliéndose la expresión [2.4].

d = bn [2.4]

Considerando que el coste del sistema, P, es proporcional al número


de conmutadores, n, y al número de posiciones, b, de cada conmutador,
se cumple la expresión [2.5].

P=K·b·n [2.5]
34 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I

De las expresiones [2.4] y [2.5] se obtiene la expresión [2.6].

ln d
P = K ◊b◊ [2.6]
ln b

Para calcular la base idónea que haga que el sistema tenga un coste
mínimo, derivamos la expresión [2.6] con respecto a b y la igualamos a
cero, despejando posteriormente el valor de b, como se muestra en la
expresión [2.7].

dP
=0 [2.7]
db
b = e = 2,718

Luego el sistema de numeración más económico es aquel cuya base es


dos o tres. Teniendo en cuenta todas las consideraciones apuntadas ante-
riormente se concluye que el sistema binario es el más idóneo como sis-
tema de numeración de circuitos digitales.

2.2.3. Conversión entre distintos sistemas


de numeración
La conversión entre bases permite representar el mismo número en
bases distintas, es decir, dado un número N en base b1 expresar dicho
número N en base b2. Se pueden realizar diferentes estrategias para efec-
tuar un cambio de base, aunque es recomendable seguir los pasos indi-
cados en la Figura 2.1, siendo éstos: convertir en un primer paso el
Copyright © ${Date}. ${Publisher}. All rights reserved.

número N (b1 de base b1 a decimal N (10, y en un segundo paso convertir el


número decimal a base b2, obteniéndose el número N (b2.

N(b1 Conversión de N(10 Conversión de N(b2


base b1 a base 10 base 10 a base b2

FIGURA 2.1. Pasos recomendables para la conversión entre bases.

Esto permite realizar todas las operaciones en base 10, resultando más
sencilla la conversión por ser la base más familiar.
REPRESENTACIÓN DE LA INFORMACIÓN 35

El primer paso de conversión de N(b1 a N(10 se realiza, de forma sen-


cilla, aplicando la expresión [2.2], descrita anteriormente. Esta ecuación
se denomina ecuación general de los sistemas de numeración, y que vie-
ne dada por la expresión [2.1], que se repite a continuación en [2.8].

N(b1 = ap–1ap–2 … a1a0 , a–1 … a– q (b1


[2.8]

Este número N(10, en base 10, se obtendrá mediante:

N (10 = dm–1dm– 2 L d1d0 , d-1 L d- n (10


= a p-1 ◊ b1p-1 + a p- 2 ◊ b1p- 2 + L
[2.9]
L + a1 ◊ b11 + a0 ◊ b10 + a-1 ◊ b1-1 + L + a- q ◊ b1- q

En el segundo paso de conversión de N(10 a N(b2 se trata por separado


la parte entera y la parte fraccionaria del número en base 10.

1. Parte entera

Considerando un número entero en base 10:

N(10 = dm–1dm–2 … d1d0 (10


[2.10]

Su equivalente en base b2 es:

N(b2 = ck–1ck–2 … c1c0 (b2


[2.11]

La relación entre ambos es:

N (10 = dm–1dm– 2 L d1d0 (10


= ck-1 ◊ b2k-1 + ck- 2 ◊ b2k- 2 + L + c1 ◊ b21 + c0 ◊ b20 [2.12]
Copyright © ${Date}. ${Publisher}. All rights reserved.

siendo necesario calcular los coeficientes ci, es decir, (ck-1 ck-2 … c1 c0) que
son los dígitos desconocidos del número expresado en la nueva base b2.
Para ello, en la expresión [2.12], se dividen sus dos miembros entre la
base b2, con la aritmética de base 10.

N (10 c c
= ck–1 ◊ b2k– 2 + ck– 2 ◊ b2k– 3 + L + c1 + 0 = Q0 + 0 [2.13]
b2 b2 b2

Como ci < b2, c0 será igual al resto de la división anterior. El dígito c1 es


el resto obtenido al dividir el cociente Q0 entre b2.
36 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I

Q0 c1 c
(10
= ck–1 ◊ b2k– 3 + ck– 2 ◊ b2k– 4 + L + = Q1 + 1 [2.14]
b2 b2 b2

Reiterando este procedimiento se obtienen los demás coeficientes.


El proceso finaliza con el cálculo del coeficiente ck-1, lo que se cumple
cuando se obtenga un cociente menor que b2, siendo ck-1 precisamente
este último cociente. La Tabla 2.2 resume este proceso, consistente en rea-
lizar divisiones sucesivas de N(10 y la base b2, hasta obtener un cociente Qi
menor que la base b2. Los coeficientes del número expresado en la base b2
(Nb2) están formados por este último cociente (dígito con mayor peso ck-1)
y los restos de las divisiones realizadas, tomados en orden inverso, como
se indica en la Figura 2.2.

TABLA 2.2
Proceso de conversión de base 10 a base b2
de la parte entera de un número

Operación Cociente Resto


Qi ci

N(10 : b2 Q0 c0
Q0 : b2 Q1 c1
Q1 : b2 Q2 c2
  
Qk-3 : b2 Qk-2 < b2 ck-2
Qk-2 : b2 Qk-1 = 0 Qk-2 = ck-1
Copyright © ${Date}. ${Publisher}. All rights reserved.

N(10 b2
c0 Q0 b2
c1 Q1 b2
c2 Q2

Qk – 3 b2
N(10 = ck – 1 ck – 2… c2c1c0 (b2 ck – 2 Qk – 2 < b2

Qk – 2 = ck – 1

FIGURA 2.2. Conversión de base 10 a base b2 de la parte entera de un número.


REPRESENTACIÓN DE LA INFORMACIÓN 37

PROBLEMA RESUELTO 2-4


Convertir de decimal a binario el número 324 (10

SOLUCIÓN

Aplicando el proceso indicado anteriormente en la Tabla 2.2 y consi-


derando que N (10 = 324 (10, y b2 = 2, se obtiene dicha conversión, tal como
se muestra en la Tabla 2.3.

TABLA 2.3
Conversión del número 324(10 de decimal a binario

Operación Cociente Resto


Qi ci

324 : 2 162 0
162 : 2 81 0
81 : 2 40 1
40 : 2 20 0
20 : 2 10 0
10 : 2 5 0
5 : 2 2 1
2 : 2 1<2 0
1 : 2 0 1

El resultado obtenido en la Tabla 2.3 es: 324 (10 = 101000100 (2


El mismo proceso de conversión pero utilizando la representación de las
divisiones sucesivas de la Figura 2.2, es el que se muestra a continuación.
Copyright © ${Date}. ${Publisher}. All rights reserved.

N(10 324 2 b2
12 162 2
04 02 81 2
c0 0 0 1 40 2
0 20 2
0 10 2
0 5 2
1 2 2
0 1
Qk -2 < b2
Qk -2 = ck -1
ck -2
38 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I

Se aprecia que el proceso es el mismo pero con otra representación,


obteniéndose el mismo resultado en ambos casos.

PROBLEMA RESUELTO 2-5

Convertir de decimal a octal el número 324 (10

SOLUCIÓN

324 8
4 40 8
0 5

El resultado obtenido es: 324 (10 = 504 (8

PROBLEMA RESUELTO 2-6

Convertir de decimal a hexadecimal el número 324 (10

SOLUCIÓN

324 16
4 20 16
4 1
Copyright © ${Date}. ${Publisher}. All rights reserved.

El resultado obtenido es: 324 (10 = 144 (16

2. Parte fraccionaria

Considerando un número real en base 10 con sólo parte fraccionaria.

N(10 = d–1d–2 … d–n (10


[2.15]

Su equivalente en base b2 es:

N(b2 = c–1c–2 … c–s (b2


[2.16]
REPRESENTACIÓN DE LA INFORMACIÓN 39

La relación entre ambos es:

N (10 = d–1d–2 L d– n (10


= c–1 ◊ b2-1 + c-2 ◊ b2-2 + L + c- s ◊ b2- s [2.17]

siendo necesario calcular los coeficientes ci de N(b2 = c-1 c-2 … c-s, que son
los dígitos desconocidos del número expresado en la nueva base b2. Para
ello en la expresión [2.17] se multiplican sus dos miembros por la base b2,
utilizando la aritmética de base 10,

N(10 ◊ b2 = c–1 + c–2 ◊ b2-1 + L + c– s ◊ b2- s+1 = c–1 + R0 [2.18]

donde c-1 es la parte entera del producto.


Para calcular c-2 se multiplica, de nuevo, la parte fraccionaria restante,
R0, por b2.

R0 ◊ b2 = c–2 + c–3 ◊ b2-1 + L + c- s ◊ b2- s+ 2 = c-2 + R1 [2.19]

El proceso se repite hasta que la parte fraccionaria restante, Ri sea


cero o se obtenga el número de dígitos ci deseados. La Tabla 2.4 resume
este proceso.

TABLA 2.4
Conversión de base 10 a base b2 de la parte fraccionaria de un número

Operación Resto Parte entera


Ri c–i

N(10 · b2 R0 c–1
R0 · b2 R1 c–2
Copyright © ${Date}. ${Publisher}. All rights reserved.

R1 · b2 R2 c–3
  

Observación: No siempre este proceso es finito y concluye cuando la


parte fraccionaria se hace cero. Hay casos en los que la parte fraccionaria
de un número en base b1 no puede ser representada en base b2, con un
número finito de dígitos. Cuando se dé esta circunstancia, para repre-
sentar el número, se debe buscar una serie de dígitos que se repitan
periódicamente y en el caso de que no exista esta serie periódica, se
deberá limitar la cantidad de dígitos a calcular en función de la exactitud
que se requiera en la conversión.
40 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I

PROBLEMA RESUELTO 2-7


Convertir de decimal a binario el número 0,375 (10

SOLUCIÓN
Aplicando el proceso indicado anteriormente, en la Tabla 2.4, consi-
derando que N (10 = 0,375(10, y b2 = 2, se obtiene que dicha conversión es la
representada en la Tabla 2.5.

TABLA 2.5
Conversión del número 0,375(10 de decimal a binario

Operación Parte fraccionaria Parte entera


Ri c–i

0,375 · 2 = 0,75 0,75 c–1 = 0


0,75 · 2 = 1,5 0,5 c–2 = 1
0,5 · 2 = 1,0 0 (Resto nulo) c–3 = 1

El resultado obtenido en la Tabla 2.5 es: 0,375 (10 = 0,011 (2


A continuación se realiza el mismo proceso de conversión represen-
tado de otra forma.
0,375 · 2 = 0 , 75
0,75 · 2 = 1 , 5
0,5 · 2 = 1 , 0
El resultado numérico de la conversión es igual a la serie de dígitos de
la parte entera obtenida en los productos, en el orden indicado por la fle-
cha. Es decir 0,375 (10 = 0, 011 (2
Copyright © ${Date}. ${Publisher}. All rights reserved.

PROBLEMA RESUELTO 2-8


Convertir de decimal a octal el número 0,176 (10

SOLUCIÓN
0,176 · 8 = 1 , 408
0,408 · 8 = 3 , 264
0,264 · 8 = 2 , 112
0,112 · 8 = 0 , 896
0,896 · 8 = 7 , 168
0,168 · 8 = 1 , 344
0,344 · 8 = 2 , 752
0,752 · 8 = 6 , 016
REPRESENTACIÓN DE LA INFORMACIÓN 41

La parte fraccionaria del resultado obtenido tiene infinitos dígitos, por


lo que se finaliza la conversión una vez que se alcanza la precisión desea-
da. El resultado es el siguiente: 0,176 (10 = 0,13207126… (8.

PROBLEMA RESUELTO 2-9


Convertir de decimal a hexadecimal el número 0,145 (10

SOLUCIÓN

0,145 · 16 = 2 , 32
0,32 · 16 = 5 , 12
0,12 · 16 = 1 , 92
0,92 · 16 = 14 , 72
0,72 · 16 = 11 , 52
0,52 · 16 = 8 , 32
0,32 · 16 = 5 , 12

)
La parte fraccionaria del resultado obtenido es periódica, siendo:

0,145 (10 = 0,2 51EB8 (16

El resultado de convertir un número decimal con parte entera y


fraccionaria, en un número de otra base, se obtendrá al convertir por
separado su parte entera y su parte fraccionaria y sumar los resultados.

PROBLEMA RESUELTO 2-10


Convertir de decimal a binario el número 23,625 (10.
Copyright © ${Date}. ${Publisher}. All rights reserved.

SOLUCIÓN
a) Se convierte primero la parte entera.

23 2
03 11 2
1 1 5 2
1 2 2
0 1

La parte entera tiene como resultado: 23 (10 = 10111 (2.


42 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I

b) Se convierte posteriormente la parte fraccionaria.


0,625 · 2 = 1 , 25
0,25 · 2 = 0 , 5
0,5 · 2 = 1
La parte fraccionaria tiene como resultado: 0,625 (10 = 0,101 (2.
El resultado final de la conversión es la suma de las partes entera y
fraccionaria: 23,625 (10 = 10111 (2. + 0,101 (2 =10111, 101 (2.

PROBLEMA RESUELTO 2-11


Convertir el número 121,02 (3 a base nueve.

SOLUCIÓN

a) El primer paso es convertir el número a decimal.

1 2 1, 0 2 (3

1 • 32 = 9
2 • 31 = 6
1 • 30 = 1
0 • 3-1 = 0
2 • 3-2 = 0,2
16,2(10

b) El segundo paso consiste en representar el número decimal en


base nueve. Primero se convierte la parte entera y posteriormente la par-
te fraccionaria.
La parte entera:
Copyright © ${Date}. ${Publisher}. All rights reserved.

16 9
7 1

Resultado: 16 (10 = 17 (9.


La parte fraccionaria:
) )
0,2 · 9 = 1 , 9
) )
0,9 · 9 = 8 , 9
) )
0,9 · 9 = 8 , 9
) )
Resultado: 0,2 (10 = 0,18 (9
REPRESENTACIÓN DE LA INFORMACIÓN 43

)
El resultado final )
de la conversión es )la suma de las partes entera y
fraccionaria: 16,2 (10 = 17 (9 + 0,18 (9 = 17,18 (9.
Los sistemas de numeración más utilizados en los sistemas informá-
ticos se reducen al binario, hexadecimal y a veces octal, lo que posibilita,
en las conversiones entre ellos, una serie de métodos o simplificaciones
que se incluyen en los apartados siguientes.

2.3. SISTEMA DE NUMERACIÓN BINARIO


El sistema de numeración binario está basado en la utilización de dos
símbolos distintos, el 0 y el 1, para expresar cualquier magnitud numérica.
Este sistema de numeración basa su elevada utilización en la sencillez
de sus reglas aritméticas, y así, los componentes electrónicos que se
emplean para la realización de los circuitos digitales (transistores, dio-
dos, etc.) presentan dos estados estables perfectamente diferenciados,
que hacen que sea el sistema más idóneo para su uso en Electrónica
Digital. Las ventajas anteriores compensan el inconveniente de necesitar
para representar una misma cantidad un mayor número de dígitos que en
aquellos otros sistemas, cuya base es mayor.
Como ya se ha planteado anteriormente, en el apartado 2.2.1, los
pesos binarios de ap … a2 a1 a0, son respectivamente, 2n,…, 4, 2, 1.
Un procedimiento rápido para convertir un número binario a decimal
se basa en sumar en decimal los pesos de los dígitos binarios cuyo valor
sea la unidad.

PROBLEMA RESUELTO 2-12


Por el procedimiento rápido explicado anteriormente, convertir de
binario a decimal el número 10100100,1 (2.
Copyright © ${Date}. ${Publisher}. All rights reserved.

SOLUCIÓN
44 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I

El bit de menor peso o menos significativo se denomina LSB (Least


Significant Bit) y el bit de mayor peso, o más significativo, MSB (Most
Significant Bit).
Este procedimiento se puede utilizar para convertir números deci-
males a binarios, de forma inversa. Para ello se pone a 1 el dígito de
mayor peso que no supere el valor a convertir. Se resta este valor del
número a convertir y con el resto, de forma iterativa, se vuelve a poner a
1 otro dígito, cuyo peso sea lo mayor posible, restándose nuevamente, así
hasta que el valor de la resta sea cero.
Conociendo el anterior procedimiento de conversión, es fácil construir
la Tabla 2.6, que relaciona la construcción ordenada de números binarios
de cuatro bits y sus correspondientes valores en decimal, siendo extra-
polable este método de construcción a cualquier tamaño de números
binarios.
En la misma Tabla 2.6 se puede apreciar que la construcción de núme-
ros binarios y decimales siguen el mismo procedimiento. Conviene que el
lector comprenda que los procedimientos y reglas son los mismos en las
distintas bases. Así, cuando se cuenta en decimal y se llega al máximo
valor que se puede expresar con un dígito (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), se
siguen construyendo números con dos dígitos, incrementándose el dígito
de la izquierda cada vez que se completa la serie (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
en el dígito de la derecha. Cuando se llega al número 99, se añade una
cifra más a la izquierda y se sigue el mismo procedimiento. Cada vez que
un dígito completa la serie, al comenzar otra vez la serie (pasa de 9 a 0),
se incrementa el dígito situado a su izquierda. Esto es aplicable igual-
mente a otros sistemas de numeración, como el binario, octal, hexadeci-
mal, etc.

TABLA 2.6
Números binarios de cuatro bits
Copyright © ${Date}. ${Publisher}. All rights reserved.

Decimal Binario Decimal Binario

0 0000 8 1000
1 0001 9 1001
2 0010 10 1010
3 0011 11 1011
4 0100 12 1100
5 0101 13 1101
6 0110 14 1110
7 0111 15 1111
REPRESENTACIÓN DE LA INFORMACIÓN 45

PROBLEMA RESUELTO 2-13

Convertir el número 25,375 (10 de decimal a binario, siguiendo el pro-


cedimiento explicado anteriormente.

SOLUCIÓN
11001,011 (2.
Con n dígitos binarios se pueden representar todos los enteros cuya
magnitud N esté comprendida en el rango 0 ≤ N ≤ 2n-1. En la Tabla 2.6 se
aprecia que con cuatro dígitos binarios (n = 4) se pueden representar
valores decimales desde 0 a 24 – 1 = 15.
En general, un número N, en un sistema de base b con n dígitos
enteros se pueden representar bn valores distintos, comprendidos entre
0 ≤ N ≤ bn – 1.
En el caso de una representación puramente fraccionaria con q dígitos
binarios, el rango de la magnitud es 0 ≤ N ≤ 1 – 2-q. En general, un núme-
ro N, en un sistema de base b con q dígitos fraccionarios, se pueden
representar bq valores distintos, comprendidos entre 0 ≤ N ≤ 1 – b-q.

2.4. SISTEMA DE NUMERACIÓN OCTAL


Aunque los circuitos electrónicos digitales utilizan exclusivamente
el sistema binario, éste resulta engorroso para el usuario por dos ra-
zones:
— es laborioso por la gran cantidad de dígitos que emplea para expre-
sar un valor, y,
— es peligroso por la facilidad que existe de cometer un error, cuan-
do el número está formado por muchos dígitos con sólo dos sím-
Copyright © ${Date}. ${Publisher}. All rights reserved.

bolos.
El uso del sistema octal, así como el hexadecimal, permite la conver-
sión de números binarios con numerosos dígitos a una forma más com-
pacta de la información, más sencilla y conveniente para su lectura.
En la Tabla 2.7 se expresan los primeros números decimales y su
correspondiente representación en octal y en binario.
Hay que tener en cuenta que este sistema es de base 8 y utiliza por
tanto, ocho símbolos o guarismos diferentes: 0, 1, 2, 3, 4, 5, 6 y 7, que
pueden ser representados con un único dígito. Completada la serie ante-
rior, se pasa a representar los siguientes números con dos dígitos y así
sucesivamente, con tres dígitos, cuatro, etc.
46 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I

TABLA 2.7
Números octales y su relación con decimales y binarios

Decimal Octal Binario Decimal Octal Binario

0 0 000 9 11 1 001
1 1 001 10 12 1 010
2 2 010 11 13 1 011
3 3 011   
4 4 100 15 17 1 111
5 5 101 16 20 10 000
6 6 110 17 21 10 001
7 7 111   
8 10 1 000 63 77 111 111

Este sistema presenta la ventaja de permitir una fácil conversión de


binario a octal y viceversa, debido a que su base es potencia entera de
dos, 23 = 8, lo que implica que cada dígito octal tiene una corresponden-
cia con tres dígitos binarios o bits.
Para obtener la conversión de binario a octal y viceversa se realiza
una partición del número binario en grupos de tres dígitos o bits, a dere-
cha e izquierda del punto de referencia (separación de la parte entera y
fraccionaria). Cada dígito octal es igual al valor decimal de los grupos de
tres bits anteriormente formados, como se aprecia en los siguientes ejer-
cicios resueltos.

PROBLEMA RESUELTO 2-14


Copyright © ${Date}. ${Publisher}. All rights reserved.

Convertir el número binario 1100101,011 (2 a octal.

SOLUCIÓN

Se divide el número binario en grupos de tres bits a la derecha y a la


izquierda de la coma y se hace la conversión decimal de cada grupo.

001100 101, 011


1 4 5 3

El resultado de la conversión del número binario 1100101,011 (2 a


octal es 145,3 (8.
REPRESENTACIÓN DE LA INFORMACIÓN 47

Al formar los grupos, si es necesario, se añaden ceros a la derecha de


la parte fraccionaria o a la izquierda de la parte entera para completar un
grupo de tres bits.

PROBLEMA RESUELTO 2-15

Convertir el número octal 257,4 (8 a binario.

SOLUCIÓN

Se descompone cada dígito octal en grupos de tres bits con valor


decimal igual al valor del dígito octal correspondiente.

2 5 7 , 4
010101111 100
El resultado de la conversión del número octal 257,4 (8 a binario es
10101111,1 (2.
Se pueden despreciar los ceros situados en los extremos derecho e
izquierdo, obtenidos en la conversión.

2.5. SISTEMA DE NUMERACIÓN HEXADECIMAL


En el sistema hexadecimal (o sistema de base 16), se utiliza como sím-
bolos los diez dígitos decimales y las seis primeras letras del alfabeto
(mayúsculas): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F.
El uso del sistema hexadecimal permite la conversión de números
binarios con numerosos dígitos a una forma más comprimida de infor-
Copyright © ${Date}. ${Publisher}. All rights reserved.

mación, simple y conveniente para su lectura.


En la Tabla 2.8 se expresan los primeros números decimales y su
correspondiente representación en hexadecimal y binario. Hay que tener
en cuenta que este sistema tiene base 16 y utiliza, por tanto, dieciséis sím-
bolos o dígitos diferentes: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, que
pueden ser representados con un único dígito. Completada la serie ante-
rior se pasa a representar los siguientes números con dos dígitos y así
sucesivamente, con tres dígitos, cuatro, etc. Este sistema presenta la ven-
taja de permitir una fácil conversión de binario a hexadecimal y vicever-
sa, debido a que su base es potencia entera de dos, 24 = 16, lo que implica
que cada dígito hexadecimal tiene una correspondencia con cuatro dígi-
tos binarios o bits.
48 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I

TABLA 2.8
Números octales y su relación con decimales y binarios

Decimal Hexadecimal Binario Decimal Hexadecimal Binario

0 0 0000 11 B 1011
1 1 0001 12 C 1100
2 2 0010 13 D 1101
3 3 0011 14 E 1110
4 4 0100 15 F 1111
5 5 0101 16 10 1 0000
6 6 0110 17 11 1 0001
7 7 0111   
8 8 1000 31 1F 1 1111
9 9 1001 32 20 10 0000
10 A 1010   

Para realizar la conversión de binario a hexadecimal y viceversa se


realiza una partición del número binario en grupos de cuatro dígitos o
bits, a derecha e izquierda del punto de referencia (separación entre par-
te entera y fraccionaria). Cada dígito hexadecimal es igual al valor deci-
mal de los grupos de cuatro bits anteriormente formados, como se apre-
cia en los siguientes problemas resueltos.

PROBLEMA RESUELTO 2-16


Convertir el número binario 11011001001,1101 (2 a hexadecimal.

SOLUCIÓN
Copyright © ${Date}. ${Publisher}. All rights reserved.

Se divide el número binario en grupos de cuatro bits a la derecha y a


la izquierda de la coma y se hace la conversión decimal de cada grupo.

0110 1100 1001, 1101


6 C 9 D

El resultado de la conversión del número binario 11011001001,1101 (2


a hexadecimal es 6C9,D (16.
Al formar los grupos, si es necesario, se añaden ceros a la derecha de
la parte fraccionaria o a la izquierda de la parte entera para completar un
grupo de cuatro bits.
REPRESENTACIÓN DE LA INFORMACIÓN 49

PROBLEMA RESUELTO 2-17

Convertir el número hexadecimal 7A5,6 (16 a binario.

SOLUCIÓN

Se descompone cada dígito hexadecimal en grupos de cuatro bits con


valor decimal igual al valor del dígito hexadecimal correspondiente.

7 A 5 6
0111 1010 0101 0110

El resultado de la conversión del número hexadecimal 7A5,6 (16


a
binario es 11110100101,011 (2.
Se pueden despreciar los ceros situados en los extremos derecho e
izquierdo, obtenidos en la conversión.
Para la conversión de octal a hexadecimal y viceversa, lo más sen-
cillo es convertir primero el número en binario y luego a hexadecimal o a
octal, según corresponda.

PROBLEMA RESUELTO 2-18


Convertir el número octal 37,6 (8 a hexadecimal.

SOLUCIÓN

Se convierte primero el octal a binario y posteriormente a hexade-


Copyright © ${Date}. ${Publisher}. All rights reserved.

cimal.

3 7 , 6 = 0001 1111,1100
011 111 110 1 F C

El resultado de la conversión del número octal 37,6 (8 a hexadecimal es


1FC (16.

PROBLEMA RESUELTO 2-19

Convertir el número hexadecimal 6A,D (16 a octal.


50 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I

SOLUCIÓN

Se convierte primero el número hexadecimal a binario y posterior-


mente a octal.

6 A , D = 001101 010,110 100


01101010 1101 1 5 2 6 4

El resultado de la conversión del número hexadecimal 6A,D (16 a octal


es 152,64 (8.

PROBLEMAS PROPUESTOS

2-1) Hacer una tabla que relacione los 20 primeros números de los
sistemas de numeración decimal, binaria, octal y hexadecimal.
2-2) Convertir el número binario 10111,01 (2 a decimal.
2-3) Convertir el número decimal 52,375 (10 a binario.
2-4) Convertir el número binario 101011,101 (2 a octal y hexadeci-
mal.
2-5) Convertir el número octal 654,40625 (8 a decimal.
2-6) Convertir el número decimal 123,45 (10 a octal.
2-7) Convertir el número octal 365,6 (8 a binario y hexadecimal.
2-8) Convertir el número hexadecimal 1B3,2 (16 a decimal.
2-9) Convertir el número decimal 251,625 (10 a hexadecimal.
Copyright © ${Date}. ${Publisher}. All rights reserved.

2-10) Convertir el número hexadecimal 1B3,2 (16 a binario y octal.

Вам также может понравиться