Está en la página 1de 5

CAP02_FLOYD_IMP.

qxd 17/05/2006 9:27 PÆgina 82

82 ■ SISTEMA DE NUMERACIÓN, OPERACIONES Y CÓDIGOS

Paso 4: Restar el divisor del segundo resto parcial usando la suma en complemento a
2.
00110010 Segundo resto parcial
+ 11100111 Complemento a 2 del divisor
00011001 Tercer resto parcial positivo
Sumar 1 al cociente: 00000010 + 00000001 = 00000011.
Paso 5: Restar el divisor del tercer resto parcial usando la suma en complemento a 2
00011001 Tercer resto parcial
+ 11100111 Complemento a 2 del divisor
00000000 Resto cero
Sumar 1 al cociente: 00000011 + 00000001 = 00000100 (cociente final). El
proceso se ha completado.
Problema relacionado Verificar que el procedimiento es correcto convirtiendo los números binarios a
decimales y realizando la división.

1. Enumerar los cuatro casos de suma de números.


REVISIÓN DE
LA SECCIÓN 2.7 2. Sumar 00100001 y 10111100.
3. Restar 00110010 de 01110111.
4. ¿Cuál es el signo del producto cuando se multiplican dos números negativos?
5. Multiplicar 01111111 por 00000101.
6. ¿Cuál es el signo del cociente cuando se divide un número positivo entre un
número negativo?
7. Dividir 00110000 entre 00001100.

2.8 NÚMEROS HEXADECIMALES


El sistema de numeración hexadecimal consta de dieciséis caracteres y se usan fundamentalmente
como una forma simplificada de representar o escribir los números binarios, ya que es muy fácil la con-
versión entre binario y hexadecimal. Como probablemente habrá comprobado, 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 compu-
tadoras y microprocesadores sólo entienden los 1s y los 0s, es necesario emplear estos dígitos cuando
se programa en “lenguaje máquina”. Imagine 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 hexadeci-
males u octales. Los números octales se cubren en la Sección 2.9. El sistema hexadecimal se usa fre-
cuentemente en computadoras y aplicaciones de microprocesadores.
Al finalizar esta sección, el lector deberá ser capaz de:
■ Enumerar los caracteres hexadecimales. ■ Contar en hexadecimal. ■ Convertir de binario a hexa-
decimal. ■ Convertir de hexadecimal a binario. ■ Convertir de hexadecimal a decimal. ■ Convertir
de decimal a hexadecimal. ■ Sumar números hexadecimales. ■ Determinar el complemento a 2 de un
número hexadecimal. ■ Restar números hexadecimales.
CAP02_FLOYD_IMP.qxd 17/05/2006 9:27 PÆgina 83

NÚMEROS HEXADECIMALES ■ 83

▲ El sistema de El sistema hexadecimal es un sistema en base dieciséis, es decir, está formado por
numeración hexade- 16 caracteres numéricos y alfabéticos. La mayoría de los sistemas digitales proce-
cimal consta de los san grupos de datos binarios que son múltiplos de cuatro bits, lo que hace al núme-
dígitos 0 a 9 y de las ro hexadecimal muy adecuado, ya que cada dígito hexadecimal se representa
letras A hasta F. mediante un número binario de 4 bits, como se puede ver en la Tabla 2.3.

Decimal Binario Hexadecimal


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

TABLA 2.3

Diez dígitos numéricos y seis caracteres alfabéticos forman el sistema de numeración hexadecimal. El uso
de las letras A, B, C, D, E y F para representar números puede parecer extraño al principio, pero tenga en
mente que cualquier sistema de numeración es sólo un conjunto de símbolos secuenciales. Si comprende qué
cantidades representan estos símbolos, entonces la forma de los símbolos en sí tiene poca importancia, una
vez que se haya acostumbrado a utilizarlos. Utilizaremos el subíndice 16 para designar a los números hexa-
decimales y evitar así cualquier confusión con los números decimales. En ocasiones, puede ver la letra “h”
detrás de un número hexadecimal.

NOTAS INFORMÁTICAS
Con memorias de computadora en el rango de los gigabytes (GB), especificar una dirección de memoria en
binario es bastante complicado. Por ejemplo, hay que emplear 32 bits para especificar una dirección de una
memoria de 4 GB. Es mucho más sencillo escribir un código de 32 bits usando ocho dígitos hexadecimales.

Contar en hexadecimal
¿Cómo se continúa contando en hexadecimal cuando se ha llegado a la letra F? Simplemente se inicia otra
columna y se continúa contando así:
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 2A, 2B, 2C, 2D, 2E, 2F, 30, 31, . . .
Con dos dígitos hexadecimales, se puede contar hasta FF16, que corresponde al decimal 255. Para conti-
nuar contando, se necesitan tres dígitos hexadecimales. Por ejemplo, 10016 es el decimal 256, 10116 es el deci-
CAP02_FLOYD_IMP.qxd 17/05/2006 9:27 PÆgina 84

84 ■ SISTEMA DE NUMERACIÓN, OPERACIONES Y CÓDIGOS

mal 257, y así sucesivamente. El número hexadecimal máximo con 3 dígitos es FFF16, es decir el decimal
4.095. El máximo número hexadecimal con 4 dígitos es el FFFF16, que es el decimal 65.535.

Conversión 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.

EJEMPLO 2.24
Convertir a hexadecimal los siguientes números binarios:
(a) 1100101001010111 (b) 111111000101101001
Solución (a) 1100
N 1010
N 0101
N 0111
N (b) 0011
N 1111
N 0001
N 0110
N 1001
N
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
C A 5 7 = CA5716 3 F 1 6 9 = 3F16916
En el apartado (b) se han añadido dos ceros para completar el grupo de 4 bits
de la izquierda.
Problema relacionado Convertir el número binario 1001111011110011100 a hexadecimal.

Conversión hexadecimal-binario
▲ La conversión Para convertir un número hexadecimal en un número binario se realiza el proceso
entre hexadecimal y inverso, reemplazando cada símbolo hexadecimal por el grupo de cuatro bits ade-
binario es directa cuado.
y muy fácil. Debería estar claro que es mucho más fácil tratar con un número hexadecimal que
con el número binario equivalente. Puesto que la conversión también es fácil, el sistema hexadecimal se usa
ampliamente para representar los números binarios en programación, salidas de impresora y displays.

EJEMPLO 2.25
Determinar los números binarios correspondientes a los siguientes números hexadecimales:
(a) 10A416 (b) CF8E16 (c) 974216
Solución (a) 1 0 A 4 (b) C F 8 E

PPP ↓ ↓ ↓
PPPP ↓ ↓ ↓
1 0000 1010 0100 1100111110001110
(c) 9 7 4 2

PPPP ↓ ↓ ↓
100101110100 0010
En el apartado (a), el MSB se entiende que tiene tres ceros delante del 1 para for-
mar un grupo de 4 bits.
Problema relacionado Convertir el número hexadecimal 6BD3 a binario.
CAP02_FLOYD_IMP.qxd 17/05/2006 9:27 PÆgina 85

NÚMEROS HEXADECIMALES ■ 85

Conversión hexadecimal-decimal
Un método para encontrar el equivalente decimal de un número hexadecimal es, primero, convertir el núme-
ro hexadecimal a binario, y después, el binario a decimal.

EJEMPLO 2.26
Convertir los siguientes números hexadecimales a decimal:
(a) 1C16 (b) A8516
Solución Recuerde que primero se hace la conversión del número hexadecimal a binario y
luego a decimal.
(a) 1 C
P↓ P ↓
00011100 = 2 4 + 23 + 2 2 = 16 + 8 + 4 = 2810

(b) A 8 5
P↓ P ↓ P ↓
1010 1000 0101 = 211 + 2 9 + 2 7 + 2 2 + 2 0 = 2048 + 512 + 128 + 4 + 1 = 2693310

Problema relacionado Convertir a decimal el número hexadecimal 6BD.

Otro método para convertir un número hexadecimal a su equivalente decimal es multiplicar el valor deci-
mal de cada dígito hexadecimal por su peso, y luego realizar la suma de estos productos. Los pesos de un
número hexadecimal crecen según las potencias de 16 (de derecha a izquierda). Para un número hexadecimal
de 4 dígitos, los pesos son:
163 162 161 160
4096 256 16 1

EJEMPLO 2.27
Convertir los siguientes números hexadecimales a decimal:
(a) E516 (b) B2F816
Solución En la Tabla 2.3 puede ver que las letras A hasta F representan los números deci-
males 10 hasta 15, respectivamente.
(a) E516 = (E × 16) + (5 × 1) = (14 × 16) + (5 × 1) + 224 + 5
= 22910

(b) B2F816 = (B × 4096) + (2 × 256) + (F × 16) + (8 × 1)


= (11 × 4096) + (2 × 256) + (15 × 16) + (8 × 1)
= 45.056 + 512 + 240 + 8
= 45.81610
Problema relacionado Convertir 60A16 a decimal.
CAP02_FLOYD_IMP.qxd 17/05/2006 9:27 PÆgina 86

86 ■ SISTEMA DE NUMERACIÓN, OPERACIONES Y CÓDIGOS

CÓMO USAR LA
Potencias de 16
CALCULADORA
Ejemplo Hallar el valor de 164.

TI-86 Paso 1. 1 6 ^
16 ^ 4
Paso 2. 4 ENTER 65536

yx
TI-36X Paso 1. 1 6

Paso 2. 4 = 65536

Conversión 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 divi-
sión sucesiva por 16 dará un resto que será un dígito del número hexadecimal equivalente. Este procedimien-
to es similar a la división sucesiva por 2 para la conversión decimal−binario, que se ha visto en la Sección 2.3.
El Ejemplo 2.28 ilustra el procedimiento. Observe que cuando un cociente tiene parte fraccionaria, ésta se
multiplica por el divisor para obtener el resto.

EJEMPLO 2.28
Convertir el número decimal 650 en hexadecimal mediante el método del división sucesiva por 16.
Solución
Resto
hexadecimal
650
 40 ,625 0,625  16  10  A
16

40
 2 ,5 0,5  16  8  8
16

2
 0 ,125 0,125  16  2  2
16
Parar cuando la parte entera 2 8 A Número hexadecimal
del cociente sea cero.
MSD LSD
(dígito más significativo)

Problema relacionado Convertir a hexadecimal el número decimal 2591.

Suma hexadecimal
La suma puede hacerse directamente con números hexadecimales, teniendo en cuenta que los dígitos hexa-
decimales de 0 a 9 son equivalentes a los dígitos decimales de 0 a 9 y que los dígitos hexadecimales de A

También podría gustarte