1346
Apéndice E Sistemas numéricos
E.1 Introducción
En este apéndice presentaremos los sistemas numéricos clave que utilizan los programadores de Java, especialmen-
te cuando trabajan en proyectos de software que requieren de una estrecha interacción con el hardware a nivel de
máquina. Entre los proyectos de este tipo están los sistemas operativos, el software de redes computacionales, los
compiladores, sistemas de bases de datos y aplicaciones que requieren de un alto rendimiento.
Cuando escribimos un entero, como 227 o –63, en un programa de Java, se asume que el número está en el
sistema numérico decimal (base 10). Los dígitos en el sistema numérico decimal son 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9.
El dígito más bajo es el 0 y el más alto es el 9 (uno menos que la base, 10). En su interior, las computadoras utili-
zan el sistema numérico binario (base 2). Este sistema numérico sólo tiene dos dígitos: 0 y 1. El dígito más bajo es
el 0 y el más alto es el 1 (uno menos que la base, 2).
Como veremos, los números binarios tienden a ser mucho más extensos que sus equivalentes decimales. Los
programadores que trabajan con lenguajes ensambladores y en lenguajes de alto nivel como Java, que les permi-
ten llegar hasta el nivel de máquina, encuentran que es complicado trabajar con números binarios. Por eso existen
otros dos sistemas numéricos, el sistema numérico octal (base 8) y el sistema numérico hexadecimal (base 16), que
son populares debido a que permiten abreviar los números binarios de una manera conveniente.
En el sistema numérico octal, los dígitos utilizados son del 0 al 7. Debido a que tanto el sistema numérico
binario como el octal tienen menos dígitos que el sistema numérico decimal, sus dígitos son los mismos que sus
correspondientes en decimal.
El sistema numérico hexadecimal presenta un problema, ya que requiere de 16 dígitos: el dígito más bajo es 0
y el más alto tiene un valor equivalente al 15 decimal (uno menos que la base, 16). Por convención utilizamos las
letras de la A a la F para representar los dígitos hexadecimales que corresponden a los valores decimales del 10 al
15. Por lo tanto, en hexadecimal podemos tener números como el 876, que consisten solamente de dígitos simi-
lares a los decimales; números como 8A55F que consisten de dígitos y letras; y números como FFE que consisten
solamente de letras. En ocasiones un número hexadecimal puede coincidir con una palabra común como FACE
o FEED (en inglés); esto puede parecer extraño para los programadores acostumbrados a trabajar con números.
Los dígitos de los sistemas numéricos binario, octal, decimal y hexadecimal se sintetizan en las fi guras E.1 y E.2.
Cada uno de estos sistemas numéricos utilizan la notación posicional: cada posición en la que se escribe un
dígito tiene un valor posicional distinto. Por ejemplo, en el número decimal 937 (el 9, el 3 y el 7 se conocen
como valores simbólicos) decimos que el 7 se escribe en la posición de las unidades; el 3, en la de las decenas; y
el 9, en la de las centenas. Observe que cada una de estas posiciones es una potencia de la base (10) y que estas
potencias empiezan en 0 y aumentan de 1 en 1 a medida que nos desplazamos hacia la izquierda por el número
(fi gura E.3).
Para números decimales más extensos, las siguientes posiciones a la izquierda serían: de millares (10 a la ter-
cera potencia), de decenas de millares (10 a la cuarta potencia), de centenas de millares (10 a la quinta potencia),
de los millones (10 a la sexta potencia), de decenas de millones (10 a la séptima potencia), y así sucesivamente.
En el número binario 101 decimos que el 1 más a la derecha se escribe en la posición de los unos, el 0 se
escribe en la posición de los dos y el 1 de más a la izquierda se escribe en la posición de los cuatros. Observe que
cada una de estas posiciones es una potencia de la base (2) y que estas potencias empiezan en 0 y aumentan de 1
en 1 a medida que nos desplazamos hacia la izquierda por el número (fi gura E.4). Por lo tanto, 101 = 2
2
+ 2
0
=
4 + 1 = 5.
Para números binarios más extensos, las siguientes posiciones a la izquierda serían la posición de los ochos
(2 a la tercera potencia), la posición de los dieciséis (2 a la cuarta potencia), la posición de los treinta y dos (2 a la
quinta potencia), la posición de los sesenta y cuatros (2 a la sexta potencia), y así sucesivamente.
E.1
Introducción
E.2
Abreviatura de los números binarios como números octales y hexadecimales
E.3
Conversión de números octales y hexadecimales a binarios
E.4
Conversión de un número binario, octal o hexadecimal a decimal
E.5
Conversión de un número decimal a binario, octal o hexadecimal
E.6
Números binarios negativos: notación de complemento a dos
Resumen | Terminología | Ejercicios de autoevaluación | Respuestas a los ejercicios de autoevaluación | Ejercicios
Plan gener
al
31_MAQ_APENDICES_Deiltel.indd1346
5/8/084:23:48PM