2
Sistemas numéricos
2.1 Introducción ........................................................................... 26
2.2 Sistemas de notación posicional ............................................ 26
2.3 Métodos de conversn de números enteros y fraccionarios ..... 30
2.4 Operaciones fundamentales en binario ................................. 37
2.5 Operaciones fundamentales en octal y hexadecimal ............ 39
2.6 Complemento de un número ................................................. 42
2.7 Resumen ............................................................................. 44
2.8 Ejercicios propuestos ............................................................. 46
2.9 Contenido de la página Web de apoyo. ................................ 47
Contenido
Objetivos
• Justicarlautilizacióndedígi-
tos binarios como elementos
dellenguajeinternodelacom-
putadora.
• Justicarelempleodelossiste-
mashexadecimalyoctalcomo
medioparaempaquetarenti-
dadesbinarias.
• Incorporarlasnocionesdeope-
raciones en sistema binario,
sumahexadecimal,sumaoctal
ycomplementobinario.
2 - Sistemas numéricos
26
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
2.1 Introducción
En este capítulo abordaremos temas que nos muestran cómo se convierte un número bi-
nario a decimal, cómo se lo representa con menos símbolos en octal y en hexadecimal y los
códigos más difundidos para la representación de información.
Se hará especial hincapié en el sistema binario, por ser el que utilizan las computadoras.
El sistema binario representa todos los símbolos del usuario –como letras y números– o
los caracteres –como los signos de puntuación– o los comandos –como <ENTER>– con una
secuencia de dígitos binarios llamados “bits” (BIT es el acrónimo de
binary digit o dígito bi-
nario). Los bits de datos individuales pueden combinarse en agrupaciones de
8
bits llamadas
“byte” (
1 byte = 8 bits
). No sólo los datos que se procesan están representados en binario, sino
también las instrucciones de los programas. La computadora codifica los datos para reali-
zar cálculos, ordenar alfabéticamente y demás transformaciones de información binaria. Por
ejemplo, la letra “
A
se codifica como “
01000001
y la “
B
”, como
01000010
en el método de
codificación más usado para representar caracteres alfanuméricos (tanto para almacenarlos
como para mostrarlos en el monitor e imprimirlos). El valor binario correspondiente a la letra
A
es menor que el correspondiente a la “
B
”; esto lleva a la conclusión de que si queremos
ordenar el par de letras nos basta con saber cuál es la menor para conocer cuál es la prime-
ra. Las computadoras digitales y muchos otros equipos electrónicos se basan en un sistema
binario formado por dos únicos símbolos:
0
y
1
. Desde que un usuario presiona las teclas de
un teclado, el universo de su información se representará en binario. De este modo, debemos
saber que dentro de la computadora se almacenan, transfieren y procesan sólo dígitos binarios.
Desde el punto de vista físico, los bits pueden ser representados por una magnitud de voltaje
o un campo magnético.
2.2 Sistemas de notación posicional
Los sistemas de notación posicional están formados por un juego de n cantidad de
símbolos, cuya combinación representa valores diferentes. El concepto de criterio posicional
es que cada dígito tiene un peso distinto según el lugar que ocupa; el peso es la base elevada
a la posición que ocupa dentro del número. La suma de cada dígito multiplicado por su peso
permitirá obtener el valor final del número.
En todo sistema posicional, dada una base B se tienen B digitos posibles, de
0
a B-
1
.
2.2.1 Expresión generalizada de un número en potencias de su base
Dado un número N en base B, expresado por n dígitos (d), éste será igual a la sumatoria de
cada dígito (d) por la potencia de la base B que le corresponda a su posición.
N = d
n
· B
n
+ d
n−1
· B
n−1
+ ..... + d
1
· B
1
+ d
0
· B
0
N = d
n
d
n−1
..... d
1
d
0
= d
n
· 10
n
+ d
n−1
· 10
n−1
+ ..... + d
1
· 10
1
+ d
1
· 10
0
Más adelante podremos comprobar que la base (B) se representa con los dígitos
10
(
1
,
0
)
para cualquier sistema.
2.2.2 Sistema decimal
El sistema de numeración decimal es un sistema de notación posicional formado por
10
símbolos (
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
). Entonces, el número decimal
1
.
023
estará conformado por
la suma de las siguientes cantidades:
2.2 Sistemas de notación posicional
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
27
10
3
10
2
10
1
10
0
1 0 2 3
(10)
3 · 10
0
= 3
2 · 10
1
= 20
0 · 10
2
= + 0
1 · 10
3
= 1.000
1.023
(10)
2.2.3 Sistema binario
El sistema binario, o de base
2
, también es un sistema de notación posicional, formado
por dos símbolos (
0
,
1
) a los que se denomina bits. El sistema binario permite analogar sus dos
símbolos (
0
y
1
) con dos “estados” posibles; por lo tanto, los valores
0
y
1
se pueden interpretar,
por ejemplo, como:
OFF ON
Falso Verdadero
No
Un número binario está compuesto por un conjunto de bits y su equivalente decimal será
igual a la suma que resulte de multiplicar cada bit por las potencias de
2
(la base B) que corres-
pondan a su posición. Así, el número binario:
1 1 0 1 1
(2)
1 · 2
0
= 1
1 · 2
1
= 2
0 · 2
2
= + 0
1 · 2
3
= 8
1 · 2
4
= 16
27
(10)
El número
11011
(2)
se lee: uno, uno, cero, uno, uno, en base
2
.
Se debe dejar en claro que, por ejemplo, el número
1020
no pertenece al sistema binario, ya
que el dígito
2
no pertenece al conjunto de símbolos binarios.
2.2.4 Sistema octal
El sistema octal, o de base
8
, 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
. De esta manera:
2 7 5
(8)
5 · 8
0
= 5
7 · 8
1
= + 56
2 · 8
2
= 128
189
(10)
Sistema binario o de base 2:esun
sistema de notacn posicional, for-
madopordosmbolos(0,1)alosque
sedenominabits.
Sistema octal o de base 8:esunsis-
tema posicional formado por ocho
símbolos(0,1,2,3,4,5,6,7);elpeso
decadacifrasonlaspotenciassuce-
sivasde8.
2 - Sistemas numéricos
28
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
El número
275
(8)
se lee: dos, siete, cinco, en base
8
.
El número
948
no pertenece al sistema octal, porque los dígitos
9
y
8
no pertenecen a su
conjunto de símbolos.
2.2.5 Sistema hexadecimal
El sistema hexadecimal, o de base
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
.
Luego, si queremos hallar el equivalente decimal del número hexadecimal
1A2
, lo haremos
de la siguiente forma:
1 A 2
(16)
2 · 16
0
= 2
10 · 16
1
= + 160
1 · 16
2
= 256
418
(10)
El número
1A2
(16)
se lee: uno, a, dos, en base
16
.
Es importante recalcar que un número hexadecimal suele identificarse con la letra “h” lue-
go del dígito menos significativo, por ejemplo
1A2h
. En ese caso, “h” no es el dígito menos sig-
nificativo del número, sino que cumple la función de identificar un sistema de numeración. De
cualquier manera, “h” no podría nunca expresar un dígito hexadecimal, ya que no pertenece al
conjunto de símbolos del sistema.
En la tabla 2-1 se presentan las equivalencias entre los sistemas decimal, binario, octal y
hexadecimal:
Tabla 2-1. Equivalencias entre los sistemas de bases 10, 2, 8 y 16.
Decimal Binario Octal Hexadecimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
El
10
(uno, cero) es elmero que en cualquier sistema representa la base, por ejemplo en base
5
10
(5)
= 5
(10)
luego 100
(5)
= 5
2
(10)
, o sea, la base al cuadrado.
2.2 Sistemas de notación posicional
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
29
1 0 0
(5)
0 · 5
0
= 0
0 · 5
1
= 0
1 · 5
2
= 25
25
(10)
25
(10)
= 5
2
(10)
Como se puede observar en la tabla 1-1, cada sistema de notación posicional construye sus
cantidades de la siguiente manera:
Primero, utiliza los números que le pertenecen, en orden creciente, desde el primero
(el cero) hasta agotar el último.
Segundo, repite el paso anterior, pero incrementando el dígito de orden superior en
una unidad.
Tercero, repite los dos primeros pasos, tantas veces como sea necesario, para repre-
sentar el número deseado.
Para analizar los contenidos de los registros internos de la computadora, se utilizan los sis-
temas octal y hexadecimal como “métodos taquigráficos”, que permiten representar su conte-
nido binario compactado. Esto es posible debido a que
8
y
16
son potencias exactas de
2
(
8 = 2
3
y 16 = 2
4
); en consecuencia, es factible convertir números del sistema binario al octal y
al hexadecimal tomando agrupaciones de
3
y
4
bits, respectivamente. Por ejemplo, el número
binario
11110010
(2)
= 362
(8)
y F2
(16)
.
Para lograr esta conversión, la cadena binaria
11110010
se divide en grupos de
3
bits, de
derecha a izquierda y, si fueran necesarios para completar el grupo, se agregan ceros a la iz-
quierda del último bit:
011 110 010
y luego se le asigna el dígito octal equivalente
3 6 2
(8)
.
De la misma manera, la cadena binaria
11110010
se divide en grupos de
4
bits:
1111 0010
y luego se le asigna el dígito hexadecimal equivalente
F 2
(16)
.
Queda claro que los sistemas octal y hexadecimal permiten “compactar” bits, de modo de
hacer más sencilla la tarea de reconocerlos a simple vista. Sólo se debe asumir el esfuerzo de
aprender cómo se convierte directamente desde binario a base
8
o
16
, y al revés. Por esta razón,
cuando un usuario pretende visualizar la información “desde adentro”, la computadora asume
uno de estos dos sistemas y simplifica la tarea de leer ceros y unos. Si se comparan ambos
métodos, se nota que el sistema hexadecimal compacta mejor la cadena binaria que el octal,
esto es, indica lo mismo con menor cantidad de símbolos. Por lo tanto, se puede inferir que
cuanto más grande es la base, más importante es la reducción. Cabe preguntarse, entonces,
por qué no utilizar un sistema base
32
o
64
; la razón es simple, resultaría engorroso recordar
32
o
64
símbolos diferentes y se estaría ante un problema casi mayor que el de operar con bits.
2.2.6 Número de cifras. Cantidad decimal máxima
Repase de nuevo la tabla de equivalencias. Note que con un bit se pueden representar los
dígitos decimales
0
y
1
. Con dos bits se pueden representar los dígitos decimales
0
,
1
,
2
y
3
.
Con tres bits, los dígitos decimales
0
a
7
, con cuatro bits, los dígitos decimales
0
a
15
.
Lossistemasoctalyhexadecimalper-
miten“compactar”bits,demodode
hacer mássencilla latarea dereco-
nocerlosasimplevista.
2 - Sistemas numéricos
30
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
Si se llama n a la cantidad de bits en juego, se puede generalizar el concepto:
con n bits se pueden representar los valores
decimales comprendidos entre 0 y 2
n
1.
Nótese que de la misma tabla se deduce que:
con n dígitos octales se pueden representar los
valores decimales comprendidos entre 0 y 8
n
1.
De la misma manera,
con n dígitos hexadecimales se pueden representar
los valores decimales comprendidos entre 0 y 16
n
1.
2.3 Métodos de conversión de números enteros y fraccionarios
Ahora, es preciso establecer qué relación hay entre los distintos sistemas numéricos estu-
diados y el sistema decimal que estamos acostumbrados a utilizar. Después de cierto tiempo
de práctica, puede resultar bastante simple reconocer directamente que
15
(10)
es igual a
1111
(2)
y que ambas entidades están identificando
15
elementos; sin embargo, es factible que surjan
problemas cuando la cantidad de dígitos de un sistema no decimal es muy grande, por ejemplo,
111110001010100101
(2)
. Para lograrlo se pueden utilizar los siguientes métodos que permiten la
conversión entre sistemas de bases distintas para números enteros y fraccionarios.
2.3.1 Método de conversión de números de otras bases a decimal
A continuación, se describen los métodos que permiten convertir números de cualquier
sistema de notación posicional al sistema decimal.
2.3.1.1. Binario a decimal (2) a (10)
Enteros
Sea el número
10111
(2)
,
se obtendrá su valor decimal multiplicando cada bit por la potencia
de dos que corresponda a su posición y sumando los valores finales.
2
4
2
3
2
2
2
1
2
0
1 0 1 1 1
(2)
1 · 2
0
= 1
1 · 2
1
= 2
1 · 2
2
= + 4
0 · 2
3
= 0
1 · 2
4
= 16
23
(10)
Fracciones
Sea el número
0,101
(2)
, se obtendrá su valor decimal multiplicando cada bit por la potencia
negativa de dos que corresponde a su posición, a partir de la coma y sumando los valores
finales.
2.3 Métodos de conversión de números enteros y fraccionarios
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
31
2
0
2
−1
2
−2
2
−3
0, 1 0 1
(2)
1 · 2
−3
= 0,125
0 · 2
−2
= + 0
1 · 2
−1
= 0,5
0,625
(10)
Como la conversión de binario a decimal será con la que usted se enfrentará más a menudo,
por lo menos en este texto, es conveniente que recuerde el equivalente decimal de las prime-
ras potencias negativas de dos.
Para recordar:
2
−1
= 0,5
2
−2
= 0,25
2
−3
= 0,125
2
−4
= 0,0625
2
−5
= 0,03125
2.3.1.2. Octal a decimal (8) a (10)
Sea el número
17.3
(8)
,
se obtendrá su valor decimal multiplicando cada dígito octal por la
potencia de ocho que corresponda a su posición y sumando los valores finales.
1 7 , 3
(8)
7 · 8
0
= 7 · 1 = + 7
1 · 8
1
= 1 · 8 = 8
15,375
(10)
2.3.1.3. Hexadecimal a decimal (16) a (10)
Sea el número
1A,0F
(16)
,
se obtendrá su valor decimal multiplicando cada dígito hexadeci-
mal por la potencia de dieciséis que corresponda a su posición y sumando los valores finales.
1 A,0 F
(16)
0 · 16
-1
= 0 = + 0
10 · 16
0
= 10 · 1 = 10
1 · 16
1
= 1 · 16 = 16
26,058...
(10)
2.3.2 Método de divisiones sucesivas (para convertir un número entero decimal a
otras bases)
Para convertir un número entero decimal a cualquier sistema, se divide el mero por la base
que corresponda hasta hallar el último cociente (o hasta que el último cociente sea cero), que
formará con todos los restos anteriores (desde el último hasta el primero) el número buscado.
2 - Sistemas numéricos
32
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
El seguimiento de los ejemplos siguientes permitirá eliminar dudas.
2.3.2.1. Decimal a binario (10) a (2)
23
(10) a (2)
= 10111
(2)
23 2
03 11 2
1 1 5 2
1 2 2
0 1 2
1 0
2.3.2.2. Decimal a octal (10) a (8)
15
(10) a (8)
= 17
(8)
15 8
7 1 8
1 0
2.3.2.3. Decimal a hexadecimal (10) a (16)
26
(10) a (16)
= 1A
(16)
26 16
10 1 16
1 0
En este caso, el primer resto es “
10
y debe ser reemplazado por su equivalente hexadeci-
mal A”.
2.3.3 Método de multiplicaciones (para convertir un número fraccionario decimal
a otras bases)
Para convertir un número fraccionario decimal a cualquier sistema, primero se debe recordar
que de una fracción pura se obtiene, después de la conversión, otra fracción pura. Por eso, cuan-
do un número tiene parte entera y parte fraccionaria se lo separa y se aplica un método para la
conversión de la parte entera y otro para la parte fraccionaria, como se describe a continuación.
Algoritmo para la conversión de un número fraccionario decimal a otras bases
1. Multiplicar la fracción por la base de conversión (en el caso de que la conversión
se realice a sistema binario, la base es
2
), cuyo resultado tiene una parte entera, que
se considerará uno de los dígitos fraccionarios buscados.
2. Del resultado se toma sólo la parte fraccionaria y se vuelve a multiplicar por la
base, para hallar el siguiente dígito 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.
Paraconvertirunnúmeroenterode-
cimalacualquiersistema,sedivideel
númeroporlabasequecorresponda
hastahallarelúltimocociente.
2.3 Métodos de conversión de números enteros y fraccionarios
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
33
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 se considera que la fracción obtenida tiende al
resultado esperado por la conversión, y el error es infinitesimal.
En consecuencia, para todos los casos, 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. La flecha () indica el orden en que se deberán
tomar los dígitos. Veamos los ejemplos.
2.3.3.1. Decimal a binario (10) a (2)
1er. caso) 0,625
(10)
a
(2)
= 0,101
(2)
0,625 · 2 = 1,250
0,25 · 2 = 0,5
0,5 · 2 = 1
Deben tomarse en cuenta las consideraciones siguientes:
Cada parte entera así obtenida no debe superar el valor de la base del sistema; si esto
se produce, hay un error en la multiplicación.
Cada parte entera, formada por dos dígitos decimales, debe representarse con un solo
símbolo del sistema al que se convierte. Así, el pasaje de decimal a hexadecimal de
0,625 · 16
=
10,0
y la cifra
10
es reemplazada por
A
(16)
.
2do. caso)
0,2 · 2 = 0,4
0,4 · 2 = 0,8 período
0,8 · 2 = 1,6
0,6 · 2 = 1,2
0,2 · 2 = 0,4
El arco en el resultado sala el conjunto de meros que se repiten, o sea, la periodi-
cidad.
3er. caso) 0,122
(10) a (2)
= 0,000111...
(2)
0,12 · 2 = 0,24
0,24 · 2 = 0,48
0,48 · 2 = 0,96
0,96 · 2 = 1,92
0,92 · 2 = 1,84
0,84 · 2 = 1,68
..................
..................
El método se cancela cuando la parte fraccionaria resultante de una multiplicación da
0
,
cuando se obtiene periodicidad o cuando se suspende luego de varias iteraciones, de acuerdo
con la aproximación de la conversión que se crea conveniente. En este caso, se debe calcular
el error cometido y considerar si éste es tolerable o afecta demasiado el resultado del cálculo
en el que interviene.
2 - Sistemas numéricos
34
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
2.3.3.2. Decimal a octal (10) a (8)
1er. caso) 0,625
(10) a (8)
= 0,5(8)
0,625 · 8 = 5,0
2do. caso)
0,2 · 8 = 1,6
0,6 · 8 = 4,8 período
0,8 · 8 = 6,4
0,4 · 8 = 3,2
0,2 · 8 = 1,6
3er. caso)
0,1 · 8 = 0, 8
0,8 · 8 = 6,4
0,4 · 8 = 3,2 período
0,2 · 8 = 1,6
0,6 · 8 = 4,8
0,8 · 8 = 6,4
4to. caso) 0,12
(10) a (8)
= 0,07534...
(8)
0,12 · 8 = 0,96
0,96 · 8 = 7,68
0,68 · 8 = 5,44
0,44 · 8 = 3,52
0,52 · 8 = 4,16
Se suspende con una aproximación conveniente.
2.3.3.3. Decimal a hexadecimal (10) a (16)
1er. caso) 0, 25
(10) a (16)
= 0,A
(16)
0,625 · 16 = 10,0 = 0,A
(16)
El supuesto “resto” es
10
y debe ser reemplazado por el símbolo hexadecimal A.
2do. caso)
0,2 · 16 = 3,2 período
0,2 · 16 = 3,2
3er. caso) 0,12
(10) a (16)
= 0,1EB85...
(16)
0,12 · 16 = 1,92
0,92 · 16 = E,72
0,72 · 16 = B,52
0,52 · 16 = 8,32
0,32 · 16 = 5,12
..........................
..........................
Se suspende con una aproximación conveniente.
2.3 Métodos de conversión de números enteros y fraccionarios
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
35
2.3.4 Pasaje directo entre las bases 2 a 8 y 2 a 16
El pasaje directo entre los sistemas binario y octal, y entre binario y hexadecimal, se puede
realizar porque
8
y
16
son potencias exactas de
2
.
2.3.4.1. Binario a octal (2) a (8)
Si se observa la tabla de equivalencias entre sistemas, se ve que todo símbolo octal se
representa, a lo sumo, con una combinación de
3
bits. Así, el número
110101
(2)
podría repre-
sentarse en octal como:
MSB LSB
1 1 0 1 0 1
(2)
6 5
(8)
Llamaremos LSB (Least Significant Bit o de menor peso) al primer bit de la derecha y MSB
(
Most Significant Bit o de mayor peso) al primer bit de la izquierda del número binario. Luego,
el procedimiento para convertir un número binario a octal en forma “directa” es el que se des-
cribe a continuación.
Conversión directa de binario a octal
1. Se divide el número binario en grupos de
3
bits, en el sentido siguiente: para enteros
desde el LSB hacia el MSB y para fracciones en sentido inverso.
2. Luego se sustituye cada grupo de
3
bits por el correspondiente dígito octal, con cui-
dado de completar con ceros a la derecha la parte fraccionaria, de ser necesario para
obtener el grupo de
3
.
Enteros
Sea el número
1011001
(2)
, tomado como ejemplo para la conversión de binario a octal, el
seguimiento del procedimiento da como resultado:
1 011 001
(2)
1 3 1
(8)
Fracciones
En primer término se deben formar grupos de
3
dígitos binarios, teniendo presente que en
la parte fraccionaria cambia el sentido de la agrupación, que se encuentra representado por la
orientación de las flechas.
1 111,1
00
(2)
1 7 , 4
(8)
El motivo de formar grupos de
3
dígitos binarios se debe a que la base es potencia exacta
de dos,
8 = 2
3
, luego el exponente indica el tamaño de la agrupación.
Los dos ceros de la fracción se agregan para completar el grupo y se señalaron como
superíndices para marcar el procedimiento. El agregado de ceros para completar el grupo es
imprescindible para lograr la conversión correcta. Obsérvese que
0,1
en sistema binario (
1/2
)
no equivale a
0,1
en sistema octal (
1/8
), y es muy diferente aun al resultado obtenido si se relle-
na el grupo con ceros a la derecha, como lo indica el procedimiento, que permite un resultado
final de
0,4
en octal.
2 - Sistemas numéricos
36
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
2.3.4.2 Octal a binario (8) a (2)
En forma inversa a la enunciada antes, se puede convertir directamente un número octal
a su correspondiente en base
2
, reemplazando cada dígito octal por el equivalente binario en
grupos de
3
bits.
Enteros
Así, si se toma el ejemplo anterior,
65
(8)
se convertirá directamente a binario reemplazando
cada dígito octal por el grupo de tres dígitos binarios que le correspondan.
6 5
(8)
110 101
(2)
Fracciones
2 4, 2
(8)
10 100, 010
(2)
El sentido de las agrupaciones para números fraccionarios es siempre el mismo.
2.3.4.3 Binario a hexadecimal (2) a (16)
La conversión en forma directa de un binario a un hexadecimal sigue los mismos pasos
enunciados para la conversión a un octal.
Enteros
Nótese que cada símbolo hexadecimal se representa, a lo sumo, con una combinación de
4
bits. Si se toma el número
110101
(2)
y se lo divide en grupos de
4
bits empezando por el LSB,
al sustituir cada grupo por su dígito hexadecimal correspondiente, se obtendrá:
00
11 0101
(2)
3 5
(16)
El criterio de formar grupos de
4
bits es el mismo que se tomó para la conversión a octal,
teniendo en cuenta que en hexadecimal la base es potencia exacta de
2,16 = 2
4
,
y el exponente
4
es el que indica la cantidad de dígitos binarios que se deben agrupar para esta conversión.
Fracciones
1111, 1
000
(2)
F , 8
(16)
2.3.4.4 Hexadecimal a binario (16) a (2)
De manera inversa, se podrá convertir directamente un hexadecimal a binario, reempla-
zando cada dígito hexadecimal por su correspondiente binario en grupos de
4
bits.
Entero
Sea el número
35
(16)
la conversión directa a binario dará como resultado:
3 5
(16)
0011 0101
(2)
Fracciones
Si se desea convertir una fracción hexadecimal a binario en forma directa, esto se realizará
de manera semejante a la conversión octal-binaria, sólo que los grupos se deberán armar de
4
dígitos binarios.
2.4 Operaciones fundamentales en binario
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
37
F , 8
(16)
1111,1000
(2)
De idéntica forma se pueden realizar pasajes directos entre distintas bases, donde una sea
potencia exacta de la otra.
2.4 Operaciones fundamentales en binario
2.4.1 Suma
La suma entre
2
bits tiene cuatro combinaciones de operación posibles:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0
y me llevo 1; o acarreo 1
Observemos algunos ejemplos para entender el mecanismo de la suma.
Si quiere sumar
1
más
1
en binario, el resultado será
10
, o sea, la base binaria (ya que tiene
sólo dos elementos). Expresado de otra manera, el resultado es
0
y me llevo
1
(o el acarreo es
1
). Si ahora, para comprobar que el resultado es el correcto, se halla el equivalente de
10
(2)
en
decimal, se obtiene
2
(10)
, que es el mismo resultado que surge de sumar
1
más
1
en decimal.
1
1
(2)
1
(10)
10
(2)
+ 1
(2)
+ 1
(10)
0 · 2
0
= 0 · 1 = 0
(10)
10
(2)
2
(10)
1 · 2
1
= 1 · 2
= + 2
(10)
acarreo
comprobación 2
(10)
1 1
1
(2)
1
(10)
100
(2)
+ 11
(2)
+ 3
(10)
0 · 2
0
= 0 · 1 = 0
(10)
100
(2)
4
(10)
0 · 2
1
= 0 · 2 = + 0
(10)
1 · 2
2
= 1 · 4 = 4
(10)
comprobación 4
(10)
En el caso en que se desee sumar
1
más
11
en binario, el resultado será
100
(2)
.
2.4.2 Resta o sustracción
Es común que la operación de resta en una computadora se realice con una suma, esto
es, se obtenga una resta al sumar el minuendo y el complemento a la base del sustraendo. Sin
embargo, a efectos de explicar la operatoria manual, y teniendo en cuenta que será de gran
utilidad para el lector (por ejemplo, en el seguimiento de la ejecución de un programa cuyos
resultados no son los esperados), se explicarán otros mecanismos que se pueden aplicar para
la resta de dos números binarios:
Uno de ellos tiene en cuenta las combinaciones siguientes para la resta de cada par
de dígitos:
Laoperaciónderestaenunacompu-
tadorasecalculamediantelasumadel
minuendoyelcomplementoalabase
delsustraendo.
Encuentre un simulador que permite
realizar conversiones y operaciones
entre sistemas nuricos en la Web
deapoyo.
2 - Sistemas numéricos
38
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
0 − 0 = 0
0 − 1 = 1
le pide 1 a la posición siguiente (produce un acarreo)
1 − 0 = 1
1 − 1 = 0.
Supongamos que se debe efectuar la resta
101
(2)
− 11
(2)
:
Minuendo 1 0 1
(2
5
(10)
010
1
Sustraendo − 1 1
(2)
− 3
(10)
0 · 2
0
= 0
(10)
Resultado o resto 0 1 0
(2)
2
(10)
1 · 2
1
= + 2
(10)
0 · 2
2
= 0
(10)
Comprobación 2
(10)
Si se aplica este mecanismo a cada par de dígitos, en la primera columna el resultado de
restar
1
menos
1
es
0
. En la segunda columna,
0
menos
1
es
1
, y proviene de haberle “pedido
1
a la posición siguiente (indicado con un
1
en la tercera columna). Por último, en la tercera
columna,
1
menos
1
es
0
. De la misma forma que se hizo para la suma, se puede comprobar
que el resultado es el correcto, hallando el equivalente de
010
(2)
, que es
2
en decimal.
Otro mecanismo que se utiliza, si no se puede memorizar el anterior, consiste en pre-
guntar para cada par de dígitos: ¿cuál será el dígito que sumado al sustraendo me da
el minuendo?, o ¿cuánto le falta al sustraendo para llegar al minuendo? Tratemos de
utilizarlo, realizando las restas que se presentan a continuación.
1er. caso)
1 0 0 1
(2)
9
(10)
0011
(2)
1 1
− 1 1 0
(2)
− 6
(10)
1 · 20 = 1
(10)
0 0 1 1
(2)
3
(10)
1 · 21 = 2
(10)
0 · 22 = + 0
(10)
0 · 23 = 0
(10)
Comprobación 3
(10)
Para realizar la resta
1001
(2)
110
(2)
, si en la primera columna preguntamos cuánto le
falta a
0
para llegar a
1
, la respuesta es
1
.
En la segunda columna, la pregunta ¿cuánto le falta a
1
para llegar a
0
? no podrá res-
ponderse, ya que el minuendo es menor que el sustraendo y, por lo tanto, le debe “pedir
1
a
la columna siguiente, con lo que la pregunta pasa a ser ¿cuánto le falta a
1
para llegar a
10
?
La respuesta es
1
, y el pedido de una unidad a la columna siguiente se encuentra reflejado
con un
1
entre el minuendo y el sustraendo en esa columna.
Es importante mencionar que “pedir
1
significa pedirle a la base siguiente una unidad,
que “siempre” va a ser equivalente a
10
, y sumársela al minuendo.
Para llegar al resultado de la tercera columna, en este caso, hay que realizar un paso
previo antes de hacer la pregunta, que consiste en sumar al sustraendo la unidad que
se había “pedido” con anterioridad y luego preguntar. De esta manera,
1
más
1
es
0
con
acarreo a la columna siguiente. El resultado de esta columna es
0
y el pedido de unidad se
encuentra reflejado en la columna siguiente.
2.5 Operaciones fundamentales en octal y hexadecimal
Alfaomega
Arquitectura de computadoras - Patricia Quiroga
39
La pregunta de la cuarta columna se contesta rápido: ¿cuánto le falta a
1
para llegar a
1
? La respuesta es
0
.
No desespere, es más difícil explicar el desarrollo de estos métodos que aplicarlos.
2do. caso)
1 1 0 1 1
(2)
27
(10)
01101
(2)
1 1
− 1 1 1 0
(2)
− 14
(10)
1 · 2
0
= 1
(10)
0 1 1 0 1
(2)
13
(10)
0 · 2
1
= 0
(10)
1 · 2
2
= + 4
(10)
1 · 2
3
= 8
(10)
0 · 2
4
= 0
(10)
Comprobación 13
(10)
En la resta
11011
(2)
1110
(2)
, si preguntamos, para la primera columna, ¿cuánto le falta
a
0
para llegar a
1
?, la respuesta es simple:
1
.
En la segunda columna, si hacemos la pregunta ¿cuánto le falta a
1
para llegar a
1
?, la
respuesta es
0
.
En la tercera columna, para la pregunta ¿cuánto le falta a
1
para llegar a...?, ahora ya
sabemos que tiene que ser
10
, la respuesta es
1
y en la columna siguiente se indicó con un
1
la solicitud de una unidad para hacer efectiva la resta.
En la cuarta columna, un paso previo estipula que se debe sumar el sustraendo con la
unidad que se había “pedido” y el resultado restarlo del minuendo. Luego,
1
más
1
es
10
y
la pregunta para hacer es ¿cuánto le falta a
10
para llegar a...?, en este caso
11
. Usted podrá
preguntarse ¿por qué
11
? El mecanismo es siempre el mismo: si se le pide una unidad a
la columna siguiente, entrega el equivalente a la base (siempre
10
) y al sumárselo, en este
caso a
1
, queda
11
. No olvide reflejar el pedido en la columna de orden superior.
Para finalizar, la última columna es sencilla. A la pregunta ¿cuánto le falta a
1
para llegar
a
1
?, respondemos
0
.
Los mecanismos propuestos para la suma y la resta quizá resulten un tanto tediosos,
sobre todo si usted ya aprendió a operar con binarios; no obstante, es probable que le den
un porcentaje de seguridad en la operatoria que otros mecanismos no poseen.
2.5 Operaciones fundamentales en octal y hexadecimal
La técnica para las operaciones en octal o hexadecimal es la misma que para cualquie-
ra de las operaciones en un sistema posicional, por lo tanto, sólo se desarrollará la suma
para ambos sistemas. Tenga en cuenta que lo único que cambia es la base del sistema.
Además, en relación con la aplicación que usted pueda darle en su ámbito laboral, lo más
probable es que tenga que sumar o restar direcciones de memoria expresadas en estos sis-
temas. Es muy probable que jamás tendrá que realizar una multiplicación u operaciones
s complejas; por lo tanto, su estudio se considera innecesario para los fines prácticos
de este libro.
Para analizar los ejemplos que se brindan, siga en forma detallada los esquemas presenta-
dos, que le permitirán reconocer el mecanismo empleado.

Este documento contiene más páginas...

Descargar Completo
Capitulo 2 Libro Patricia Quiroga.pdf
browser_emoji Estamos procesando este archivo...
browser_emoji Lamentablemente la previsualización de este archivo no está disponible. De todas maneras puedes descargarlo y ver si te es útil.
Descargar
. . . . .