fundamentos-computadores
-
Upload
yolimarlares -
Category
Documents
-
view
98 -
download
12
Transcript of fundamentos-computadores
-
Fundamentos de computadoresPID_00160302
Material docente de la UOC
-
CC-BY-SA PID_00160302 Fundamentos de computadores
El encargo y la creacin de este material docente han sido coordinados por los
profesores: Montse Serra Vizern, David Baeres Besora
Montse Peiron Gurdia Llus Ribas i Xirgo Fermn Snchez Carracedo
Doctora en Informtica (1996).Profesora del Departamento deArquitectura de Computadoresde la Universidad Politcnicade Catalua (1990-2000).
Licenciado en Informtica (1989) y doctorado en Informtica (1996) por la Universidad Autnoma de Barcelona. Profesor titular del Departamento de Microelectrnica y Sistemas Electrnicos desde 1989 de la misma universidad. Consultor de la Universitat Oberta de Catalunya desde 1997. Actualmente, imparte docencia de asignaturas tanto de software como de hardware en la Escuela de Ingeniera (EE) de la UAB. Tambin ha impartido o imparte docencia en cursos de doctorado y de mster, especialmente en relacin con sistemas de agentes fsicos con controladores hardware/software empotrados y distribuidos. En la vertiente investigadora es jefe del grupo de investigacin SHADES.
Doctor en Informtica desde 1996 por la Universidad Politcnica de Catalua (UPC). Desde 1987, profesor titular de dicha universidad, adscrito al Departamento de Arquitectura de Computadores, y desde 1997, profesor consultor de la Universitat Oberta de Catalunya (UOC). Sus reas de investigacin principales son el desarrollo de nuevas arquitecturas multihilo para procesadores VLIW, la sostenibilidad en las tecnologas de la informacin y el desarrollo de nuevas estrategias educativas para adaptar los estudios universitarios actuales al Espacio Europeo de Educacin Superior.
A. Josep Velasco Gonzlez Ramon Costa Castell
Miembro de la Unidad deMicroelectrnica del Departamentode Informtica de la UniversidadAutnoma de Barcelona desde1989. Doctorado en Informticaen 1997 en la especialidadde Microelectrnica. Desarrollala actividad docente y deinvestigacin en el campo del diseoe implementacin de los circuitosdigitales en la Escuela de Ingeniera de la UAB.
Doctor en Informtica por la Universidad Politcnica de Catalua (UPC). Desde 1993 trabaja en el Instituto de Organizacin y Control de Sistemas Industriales (IOC) y en el Departamento de Ingeniera de Sistemas, Automtica e Informtica Industrial (ESAII) de la UPC, donde realiza diferentes tareas de investigacin y docencia en el mbito de los sistemas informticos de tiempo real y el control por computador.
Primera edicin: septiembre 2011 Montse Peiron Gurdia, Llus Ribas Xirgo, Fermn Snchez Carracedo, A. Josep Velasco GonzlezTodos los derechos reservados de esta edicin, FUOC, 2011Av. Tibidabo, 39-43, 08035 BarcelonaDiseo: Manel AndreuMaterial realizado por: Eureca Media, SLDepsito legal: B-27.712-2011ISBN: 978-84-693-9186-0
Los textos e imgenes publicados en esta obra estn sujetos -excepto que se indique lo contrario- a una licencia de Reconocimiento-Compartir igual (BY-SA) v.3.0 Espaa de Creative Commons. Se puede modificar la obra, reproducirla, distribuirla o comunicarla pblicamente siempre que se cite el autor y la fuente (FUOC. Fundaci per a la Universitat Oberta de Catalunya), y siempre que la obra derivada quede sujeta a la misma licencia que el material original. La licencia completa se puede consultar en: http://creativecommons.org/licenses/by-sa/3.0/es/legalcode.ca
-
CC-BY-SA PID_00160302 3 Fundamentos de computadores
Contenidos
Mdulo didctico 1
Introduccin a los fundamentos de los computadores
A. Josep Velasco Gonzlez
1. El estudio de los fundamentos de los computadores
2. La evolucin de los computadores
3. Cmo son los computadores digitales actuales?
Mdulo didctico 2
Representacin de la informacin
A. Josep Velasco Gonzlez
1. Los nmeros y los sistemas de representacin
2. Representacin de los nmeros en un computador
3. Otros tipos de representaciones
Mdulo didctico 3
Los circuitos lgicos combinacionales
Montse Peiron Gurdia, Fermn Snchez Carracedo
1. Fundamentos de la electrnica digital
2. Implementacin de circuitos lgicos combinacionales
3. Bloques combinacionales
Mdulo didctico 4
Los circuitos lgicos secuenciales
Montse Peiron Gurdia, Fermn Snchez Carracedo
1. Caracterizacin de los circuitos lgicos secuenciales
2. El biestable D
3. Bloques secuenciales
4. El modelo de Moore
Mdulo didctico 5
Estructura bsica de un computador
Llus Ribas i Xirgo
1. Mquinas de estados
2. Mquinas algortmicas
3. Arquitectura bsica de un computador
-
CC-BY-SA PID_00160302 4 Fundamentos de computadores
-
Introduccin a los fundamentos de los computadoresA. Josep Velasco Gonzlez
PID_00163597
-
CC-BY-SA PID_00163597 2 Introduccin a los fundamentos de los computadores
-
CC-BY-SA PID_00163597 Introduccin a los fundamentos de los computadores
ndice
Introduccin .......................................................................................... 5
Objetivos ................................................................................................. 6
1. El estudio de los fundamentos de los computadores ............. 71.1. Por qu estudiar los fundamentos de los computadores? .......... 7
1.2. Qu tenemos que saber para entender los computadores? ........ 7
1.2.1. Qu es la electrnica digital? ........................................... 8
1.2.2. La codificacin de la informacin .................................... 9
1.2.3. Los sistemas digitales ........................................................ 10
2. La evolucin de los computadores .............................................. 122.1. Primera generacin (1940-1955) .................................................. 13
2.2. Segunda generacin (1955-1965) ................................................. 14
2.3. Tercera generacin (1965-1970) ................................................... 15
2.4. Cuarta generacin (1970-) ............................................................ 15
3. Cmo sn los computadores digitales actuales? ................... 173.1. Arquitectura de Von Neuman ...................................................... 18
3.2. La arquitectura de Harvard ........................................................... 20
Resumen .................................................................................................. 21
Bibliografa ............................................................................................ 23
-
CC-BY-SA PID_00163597 Introduccin a los fundamentos de los computadores
-
CC-BY-SA PID_00163597 5 Introduccin a los fundamentos de los computadores
Introduccin
Actualmente, el uso de los ordenadores est plenamente generalizado en nuestra
sociedad. Los encontramos por todas partes. Se han convertido en una herra-
mienta de la que conocemos un buen nmero de funcionalidades y a la que
damos un montn de aplicaciones muy variadas para facilitar nuestro trabajo
o mejorar nuestra calidad de vida.
El xito de los computadores digitales deriva del hecho de que son mquinas
de propsito general, que pueden ser programadas para casi cualquier tarea si
se dispone de la interfaz adecuada. Puede ser, al mismo tiempo, una herra-
mienta de trabajo y un dispositivo de ocio. La misma mquina puede llevar a
cabo clculos sofisticados para hacer simulaciones de procesos, convertirse en
una herramienta de precisin para dibujar planos o gestionar con eficiencia
una base de datos compleja.
En este mdulo presentamos la estructura bsica de los computadores actuales, la
evolucin que han sufrido hasta llegar al estado actual y una introduccin a
los conceptos que se irn desarrollando a lo largo de los mdulos siguientes,
para entender en profundidad el funcionamiento de los computadores digitales.
-
CC-BY-SA PID_00163597 6 Introduccin a los fundamentos de los computadores
Objetivos
El objetivo de este mdulo es presentar la estructura bsica de un computador
digital, poniendo de manifiesto los conocimientos que se trabajarn para en-
tender en profundidad su funcionamiento y su diseo. Con este mdulo se
persigue:
1. Saber diferenciar entre la electrnica digital y la electrnica analgica.
2. Entender que es posible codificar cualquier informacin con un conjunto
reducido de smbolos, como 0 y 1.
3. Conocer a grandes rasgos, la evolucin de los computadores y las mejoras
tecnolgicas que han marcado cambios cualitativos profundos.
4. Conocer la arquitectura bsica de un computador digital actual.
Entender la estructura bsica de un computador digital es el objetivo final del
curso. En este mdulo se describe la arquitectura de un computador a grandes
rasgos. A lo largo de los mdulos siguientes se irn presentando conceptos,
herramientas y metodologas para entender con profundidad el funcionamiento
y la construccin de este tipo de mquinas.
-
CC-BY-SA PID_00163597 7 Introduccin a los fundamentos de los computadores
1. El estudio de los fundamentos de los computadores
1.1. Por qu estudiar los fundamentos de los computadores?
Desde el principio nos podramos cuestionar la utilidad de analizar el funcio-
namiento de los computadores. El argumento para ello puede ser que quere-
mos utilizar los computadores slo como una herramienta, que en ltimo
trmino seremos usuarios de las mquinas y que, como tales, el conocimiento
de la organizacin interna del computador tiene poca utilidad. La conclusin
sera que se trata de una materia que tiene inters para un nmero reducido
de ingenieros, slo para aquellos que tienen en su horizonte trabajar en el desa-
rrollo de procesadores.
Sin embargo, el conocimiento de los principios de funcionamiento de los
computadores es necesario tanto si nos dedicamos al desarrollo de aplicacio-
nes, al anlisis de sistemas o al desarrollo de circuitera especfica. El desarrollo
de aplicaciones optimizadas, requiere del conocimiento de los paradigmas b-
sicos de funcionamiento de las mquinas donde se ejecutarn, y stas se ex-
tienden en un abanico de aplicaciones que va desde los PLC industriales a la
inteligencia artificial.
Los computadores son sistemas digitales complejos. Entenderlos y conocer
herramientas metodolgicas para su diseo y sntesis nos abre el camino al
desarrollo de sistemas digitales especficos.
No se trata slo de conocimientos de cultura general. Los conceptos bsicos
del funcionamiento de los computadores son conocimientos necesarios para
aquel que quiera que trabajar en el diseo de sistemas electrnicos, en la pro-
gramacin de los mismos o en el desarrollo de aplicaciones especficas que re-
quieran un cierto grado de optimizacin.
1.2. Qu tenemos que saber para entender los computadores?
Los computadores actuales son aparatos electrnicos. La electrnica, finalmente,
trabaja con seales elctricas. Cmo podemos procesar la informacin del
mundo que nos rodea mediante seales elctricas?
Hemos de saber cmo se codifica la informacin que tenemos que procesar
dentro de las mquinas. Tenemos que determinar cmo son los datos y cules
son las limitaciones implcitas en las mquinas. La matemtica nos da herra-
mientas para codificar adecuadamente la informacin que queremos almacenar
o con la que queremos trabajar dentro de los computadores.
PLC
PLC es la sigla de programma-ble logic controller y se trata de un equipamiento electrni-co programable diseado para controlar procesos secuenciales en un entorno industrial.
-
CC-BY-SA PID_00163597 8 Introduccin a los fundamentos de los computadores
Los computadores se basan en la electrnica digital. Sin embargo, qu es la
electrnica digital? En qu se diferencia de la que no es digital? En definitiva,
cules son las bases de funcionamiento de la tecnologa con la que se dise-
an las mquinas digitales?
Por otra parte, cmo podemos utilizar la electrnica digital para construir un
computador digital? Tenemos que disponer de metodologas que, de manera
organizada, nos permitan concebir sistemas digitales complejos, y en particular,
concretarlo sobre la organizacin de un computador convencional.
stos son los interrogantes a los que iremos dando respuesta a lo largo del curso,
pero, a modo de introduccin, los apartados siguientes nos dan algunas
pinceladas al respecto.
1.2.1. Qu es la electrnica digital?
En contraposicin, en la electrnica analgica las seales pueden variar de for-
ma continua, es decir, no estn reducidas a un conjunto (pequeo) de valores
diferentes. En una seal digital slo se diferencia entre el valor alto de tensin
y el valor bajo de tensin, por ejemplo 0 V y 5 V. En cambio, una seal anal-
gica puede registrar cualquier valor de tensin, 0,1 V o 0,2 V o 0,23 V o 2,35 V
o 1,13 V o cualquier otro dentro de los mrgenes de funcionamiento, y cada
valor se considera diferente.
Las tecnologas actuales con las que se construyen los sistemas digitales (es de-
cir, los dispositivos basados en la electrnica digital y los computadores en
particular) trabajan especialmente bien cuando sobre las seales tan slo se
identifican dos valores de tensin diferentes. Estos valores reciben denomina-
ciones diferentes segn el mbito de trabajo, como verdad y falso o bien 0 y
1 lgicos.
Vivimos en un mundo analgico y nos parece natural registrar la informacin
de manera analgica. Sin embargo, trabajar directamente con informacin
analgica resulta poco prctico y nada adecuado si queremos procesar esta in-
Se llama electrnica digital o discreta a la electrnica basada en seales
sobre las que slo se identifica un conjunto finito de valores diferentes
(habitualmente dos).
v es el smbolo que identificala unidad de medida del voltaje,
el voltio.
Esto quiere decir que, como sistema digital, toda la informacin que
deba procesar un computador tiene que estar codificada de forma ade-
cuada, utilizando slo los dos valores de tensin posibles, lo que lla-
mamos 0 y 1 lgicos.
-
CC-BY-SA PID_00163597 9 Introduccin a los fundamentos de los computadores
formacin en un computador digital. Habr que disponer de mecanismos para
digitalizar la informacin, es decir, para codificarla utilizando slo ceros y unos.
1.2.2. La codificacin de la informacin
Quizs no hayamos cado en la cuenta de que, en realidad, toda la informa-
cin est siempre codificada de una manera u otra. Cuando escribimos, codi-
ficamos la informacin en palabras que pueden estar compuestas por un
conjunto de smbolos diferentes (las letras del abecedario). Cualquier valor
numrico lo codificamos mediante un conjunto de smbolos que llamamos
dgitos. Pues bien, los computadores digitales actuales gestionan informacin
codificada utilizando los valores 0 y 1.
La codificacin de los nmeros es la que conceptualmente resulta ms sencilla.
De hecho, solo tenemos que entender una idea bsica: un valor numrico es
un concepto abstracto, que tendr una representacin u otra segn el sistema
de numeracin (es decir, segn el conjunto de reglas de codificacin) que
utilicemos.a
Dicho de esta forma, puede parecer un poco extrao, pero estamos muy acos-
tumbrados a esta idea. Observemos la imagen siguiente:
Unos pensaremos mesa, otros taula, otros table, etc. La imagen es la misma
para todos, pero es posible que la tengamos asociada a palabras distintas, de
hecho, con letras distintas y, si nuestra lengua es el rabe o el chino, con sig-
nos distintos. Por lo tanto, estamos codificando esta informacin segn
nuestro sistema de representacin.
Con los nmeros pasa exactamente lo mismo. Un determinado valor numri-
co es independiente del sistema de representacin que utilicemos. Para poder
codificar los valores numricos slo con ceros y unos, tenemos que utilizar un
sistema de numeracin adecuado, diferente al sistema decimal al que estamos
acostumbrados.
Todo parece indicar que, muy al inicio, para referirse por ejemplo a un con-
junto de cinco ovejas, el hombre dibujaba literalmente cinco ovejas. Despus
consigui separar el valor numrico del objeto, por ejemplo, dibujando una
-
CC-BY-SA PID_00163597 10 Introduccin a los fundamentos de los computadores
nica oveja y cinco rayas o puntos o marcas de cualquier tipo. Con toda pro-
babilidad aprendi a dar nombre a este valor numrico independiente del ob-
jeto al que se aplicaba.
No deba de ser nada prctico tener un nombre para cada valor numrico (de-
masiados nombres a recordar), as que se empezaron a hacer grupos para faci-
litar los recuentos de conjuntos grandes. Claro est que la cantidad de
elementos de un grupo tena que ser fcil de recordar, especialmente cuando el
sistema se extendi para trabajar con grupos de grupos. En este asunto, la ana-
toma humana ha tenido bastante que ver y, por este motivo, los grupos que
ms se adoptaron fueron los de cinco, los de diez y los de veinte, coincidiendo
con el nmero de dedos de una mano, de dos manos o de manos y pies.
De entre stas, la base 10 ha salido ganadora (quizs por la aparicin del cal-
zado, quin sabe) y la idea de grupos de grupos acab desembocando en un
sistema de numeracin posicional como el que tenemos ahora, donde la posi-
cin que ocupa un dgito est asociada a un grupo de grupos (decimos un peso),
lo que facilit enormemente el desarrollo de la aritmtica.
Pues bien, dentro de los computadores tenemos que adaptar el sistema de
numeracin a su propia anatoma. Trabajan utilizando seales sobre las
que diferencian dos niveles de tensin. Por lo tanto, tendremos que utilizar
un sistema de numeracin en base 2. Adems, cambiar el sistema de nume-
racin conlleva cambios en la manera de calcular el resultado de las opera-
ciones aritmticas. Es decir, el concepto de suma es independiente del
sistema de numeracin, pero la forma de hacer la suma depende de la forma
como representemos los nmeros.
Todas estas cuestiones se tratan en el segundo mdulo, donde se analiza nuestro
sistema de numeracin y se adapta a las caractersticas de las mquinas, adems
de identificar las limitaciones propias de las mquinas.
1.2.3. Los sistemas digitales
Hemos hecho una introduccin al concepto de electrnica digital. Habr que
ver, sin embargo, qu es lo que la hace atractiva, adecuada para el procesa-
miento de informacin, cules son las herramientas que nos permiten cons-
truir circuitos complejos para el procesamiento de informacin y, en ltimo
trmino, computadores digitales de propsito general.
Conceptualmente, la electrnica digital es la electrnica de los nmeros. Aqu,
las seales elctricas representan nmeros. Son fciles de codificar y resistentes
a la degradacin con una codificacin adecuada. En los sistemas analgicos,
que trabajan con ondas, la informacin est contenida en la forma de la onda,
que se puede degradar fcilmente y que, por lo tanto, es susceptible de perder
-
CC-BY-SA PID_00163597 11 Introduccin a los fundamentos de los computadores
informacin con facilidad, adems de requerir circuitera especfica para cada
aplicacin.
Intentar construir o entender el funcionamiento de circuitos digitales comple-
jos, como los computadores, es una tarea inviable si no se dispone de las he-
rramientas y de las metodologas que permitan sistematizar, en cierta medida,
la construccin de sistemas digitales complejos. En este sentido, se establece
una diferenciacin importante entre los circuitos digitales combinacionales y
los circuitos digitales secuenciales, es decir, entre los circuitos con capacidad
de memoria (los segundos) y los que no la tienen (los primeros).
El mdulo 3, dedicado a los circuitos combinacionales, y el mdulo 4, donde
se trabajan los circuitos secuenciales, se encargan de hacer una introduccin a
los sistemas digitales y a las herramientas que nos ayudan en su concepcin y
anlisis.
Los dos apartados siguientes de este mdulo introductorio estn dedicados al
computador digital. En el primero encontraris una descripcin del camino
que se ha seguido desde los primeros ingenios de clculo hasta los computa-
dores actuales. Se describen caractersticas y tcnicas que han ido apareciendo
a lo largo de los aos y que se acumulan en los ordenadores actuales. En el se-
gundo apartado se muestra la arquitectura bsica de los computadores actua-
les. El mdulo 5 est dedicado a un anlisis de la arquitectura bsica que aqu
se describe.
-
CC-BY-SA PID_00163597 12 Introduccin a los fundamentos de los computadores
2. La evolucin de los computadores
Desde hace siglos, se ha perseguido una mejora en el procesamiento de infor-
macin, especialmente, en clculos aritmticos, para lo cual se ha utilizado la
tecnologa existente en cada momento. Los primeros intentos dieron lugar a
toda una serie de ingenios mecnicos, bsicos como el baco, o realmente
elaborados y complejos como la mquina diferencial de Charles Babbage.
Mquina analtica de Charles Babbage
Fuente: Bettman Archive
Charles Babbage (1791-1871) ocupa un lugar especialmente destacado en la
historia de la computacin por la concepcin de la mquina analtica que in-
corpora por primera vez el concepto de mquina dirigida por un programa ex-
terno. El diseo de la mquina analtica inclua una memoria (mecnica), una
unidad de procesamiento, una unidad de control (constituida por barriles
similares a los cilindros de las cajas de msica), una entrada de datos (inspira-
da en las tarjetas perforadas del telar de Jacquard) y salida por impresin (si-
milar a la mquina de escribir).
El descubrimiento de la energa elctrica permiti el desarrollo de mquinas
electromecnicas que incluan lectores de tarjetas y procesamiento con con-
mutadores. De entre este tipo de mquinas destaca la mquina tabuladora de
Herman Hollerith (1860-1929), que fue escogida para ayudar en el censo de
los Estados Unidos en el ao 1890. El censo manual tardaba cerca de 10 aos,
pero con la mquina tabuladora, que lea y procesaba (bsicamente contaba)
las tarjetas perforadas diseadas al efecto, el tiempo se redujo a menos de 3
aos. Herman Hollerith es considerado el primer informtico, el primero en
hacer un tratamiento automatizado de la informacin.
-
CC-BY-SA PID_00163597 13 Introduccin a los fundamentos de los computadores
Mquina tabuladora de Herman Hollerith
Creative CommonsAttribution 2.0 GenericFuente: http://en.wikipedia.org
Las mquinas electromecnicas llegaron a convertirse en los primeros compu-
tadores digitales. Konrad Zuse (1910-1995) concibi la Z1, que dispona de
memoria mecnica binaria, la Z2, que realizaba el procesamiento a partir de
rels y mejoras que se convirtieron en las Z3 y Z4. George Stibitz (1904-1995)
concibi computadores de rels para los laboratorios Bell, y Howard Aiken
(1900-1973) es el responsable de la serie Mark para la Universidad de Harvard.
stas fueron las primeras mquinas desarrolladas con propsito comercial.
La revolucin electrnica en la computacin se inicia durante la Segunda Gue-
rra Mundial. El conflicto blico haba animado el desarrollo de dispositivos
electrnicos, y las experiencias en mquinas electromecnicas hicieron que
enseguida se viera la aplicacin de estos dispositivos a la computacin.
La era de los computadores electrnicos se divide en cuatro generaciones aten-
diendo a los progresos en la tecnologa. Los saltos generacionales vienen de-
terminados por cambios tecnolgicos. Dentro de cada generacin aparecen
diferentes tcnicas o conceptos que se han convertido en esenciales para los
computadores actuales.
2.1. Primera generacin (1940-1955)
Esta primera generacin est marcada por el uso de vlvulas de vaco y la in-
troduccin de la tecnologa de anillos de ferrita para la memoria. Son compu-
tadores de esta primera generacin:
ENIAC. J. Mauchly; J. P. Eckert (1941-1945). Electronic Numerical Integrator
And Computer. Moore School of Engineering (Pennsylvania U.). Este inge-
nio constaba de 18.000 vlvulas de vaco, 70.000 resistencias y 10.000 con-
densadores. Ocupaba un espacio de 100 m2, pesaba 30 tm y tena un
consumo de 140 kw/h.
Consumo ENIAC
Para valorar el consumo elctri-co del computador ENIAC (140 kw/h) lo podemos com-parar con un electrodomstico de consumo elevado: el consu-mo de un horno elctrico est en torno a los 2 kw/h.
-
CC-BY-SA PID_00163597 14 Introduccin a los fundamentos de los computadores
EDVAC (1952!). Electronic Discrete Variable Automatic Computer, de dimen-
siones ms reducidas que el ENIAC. Es especial porque es la mquina sobre
la que J. Von Neumann en 1945 escribi su First Draw of a Report on the ED-
VAC, en la Moore School, el primer documento donde se describe el con-
cepto de programa almacenado, que forma parte de la base de los
computadores actuales. Tambin es de destacar el uso, por primera vez, de
la aritmtica binaria, en detrimento de la decimal.
UNIVAC (1951). Universal Automatic Computer. Ecker-Mauchly Company.
Con 5.400 vlvulas y 1.000 palabras de memoria presenta la caracterstica
de programa parcialmente almacenado.
Programacin del ENIAC. Imagen bajo dominio pblico
Fuente: http://es.wikipedia.org
2.2. Segunda generacin (1955-1965)
El paso a la segunda generacin viene marcado por la utilizacin de los transis-
tores en sustitucin de las vlvulas de vaco. Son mquinas de esta generacin:
PDP-1 de DEC, aparecida en 1960, que presenta por primera vez un termi-
nal grfico. Sobre esta mquina corri el primer videojuego.
IBM 7030. Esta mquina de 1961 incorpora la idea de segmentacin de
memoria y de memoria virtual, tcnicas con las que se consigui mejorar
sensiblemente la capacidad, la gestin y el rendimiento de la memoria.
ATLAS de Ferranti Ltd. & U. Manchester, 1962. Se trata de uno de los primeros
supercomputadores. Tecnolgicamente destaca por la incorporacin del uso
de lo que se denominan interrupciones para controlar los perifricos.
-
CC-BY-SA PID_00163597 15 Introduccin a los fundamentos de los computadores
CDC 6600. S. Cray. Control Fecha Corp., 1964. Con una velocidad de
clculo de 1 megaFLOPS (un milln de operaciones de coma flotante
por segundo) conseguida gracias al paralelismo de las unidades de clculo,
ostent el ttulo de mquina ms rpida entre 1964 y 1969.
2.3. Tercera generacin (1965-1970)
La aparicin de los primeros circuitos integrados marca el final de la segunda
generacin de computadores y el inicio de la tercera. Los circuitos integrados
aportan una reduccin de espacio significativa, una reduccin importante del
consumo y un aumento de la fiabilidad, que da lugar a la aparicin de los pri-
meros minicomputadores. De esta generacin podemos destacar:
IBM 360, 1964. Inicia la primera serie de computadores compatibles
(seis en total), es decir, que podan utilizar el mismo software y los mismos
perifricos.
DEC PDP/8, 1965. Primer minicomputador de xito comercial. Como
innovaciones presentaba circuitos lgicos en mdulos integrados (chips)
y un conjunto de lneas de conexin en paralelo para interconectar los
mdulos: el bus.
IBM 360/85, 1968. Es la primera en incorporar el concepto de memoria ca-
ch, tcnica que reduce enormemente el tiempo de acceso a la memoria y que
se ha convertido en un elemento central de los sistemas actuales.
2.4. Cuarta generacin (1970-)
Las mejoras en el proceso de fabricacin de circuitos integrados conducen a
un aumento considerable de la densidad de integracin. Es este aumento en
la densidad de integracin lo que permite integrar todos los circuitos de la
unidad central de proceso en un nico chip: nacen los microprocesadores,
el primero de los cuales es el Intel 4004 en 1971.
La cuarta generacin se inicia con el desarrollo de este microprocesador. Al
mismo tiempo, y debido tambin a las mejoras en los procesos de fabricacin
de circuitos integrados, se abandonan las memorias de ferritas y se incorporan
las memorias de semiconductores. El campo de los computadores personales
est sembrado, y pronto germina:
Altair 8800, 1975. Se considera el primer computador personal.
Supercomputador Cray 1, 1976. Incorpora por primera vez el procesa-
miento paralelo.
-
CC-BY-SA PID_00163597 16 Introduccin a los fundamentos de los computadores
IBM PC, 1981. Con el microprocesador Intel 8086 y el sistema operativo
Microsoft DOS marca el inicio de la revolucin de la computacin personal.
Lisa (Apple), 1983. Incorpora un nuevo dispositivo revolucionario, el ratn
y una interfaz de usuario grfico (estilo Windows).
IBM PC
Creative CommonsGenrica de Atribucin/Compartir-Igual 3.0Fuente: http://es.wikipedia.org
-
CC-BY-SA PID_00163597 17 Introduccin a los fundamentos de los computadores
3. Cmo sn los computadores digitales actuales?
Un computador digital es un computador que trabaja con datos numricos,
cuya interpretacin depende del formato con que se est trabajando, codifi-
cados todos ellos en un sistema de numeracin en base 2, es decir, basado en
seales binarias, seales sobre las que podemos identificar slo dos valores
distintos.a
El concepto de computador es, en principio, independiente de la tecnologa
utilizada para construirlo. Es cierto, sin embargo, que en la actualidad los com-
putadores digitales se basan en la electrnica digital y que, por lo tanto, un
computador digital es un sistema digital complejo.
La complejidad que rodea un computador digital hace inviable su concepcin
sin una estructura y organizacin en mdulos diferenciados con tareas y fun-
cionalidades bien definidas. La estructura general de un computador digital es
la que se representa de forma esquemtica en la figura 1, donde el sentido de
las flechas indica el flujo de informacin. Podramos definir la ecuacin de
funcionamiento de la forma siguiente:
Datos de entrada + procesamiento = resultado (datos de salida)
Figura 1. Estructura general de un computador
En trminos generales, un computador es un dispositivo construido
con el propsito de manipular o transformar informacin para conse-
guir una informacin ms elaborada, como por ejemplo, el resultado de
un problema determinado.
-
CC-BY-SA PID_00163597 18 Introduccin a los fundamentos de los computadores
Los dispositivos de entrada y los de salida claramente constituyen elemen-
tos de conversin de la informacin entre el mundo analgico que nos rodea
y el mundo digital en el que trabaja el procesador. Los dispositivos de entrada/
salida, mayoritariamente, estn constituidos por dispositivos para almacenar
informacin digital, en uno u otro formato, pero informacin digital que el
procesador puede recuperar.
El procesador est constituido por una unidad central de proceso (CPU,
Central Process Unit) y una memoria ntimamente relacionada con l (figura 2).
Figura 2. Arquitectura general de un procesador
La unidad central de proceso es realmente la encargada de procesar los datos
de acuerdo con el programa establecido, y se organiza en dos grandes bloques,
como se muestra en la figura 3, la unidad de control y la unidad de proceso
o camino de datos.
Figura 3. Estructura de una CPU
La unidad de proceso rene los recursos de clculo, y la unidad de control es
la encargada de dar las rdenes en la secuencia correcta a la unidad de proceso
para realizar las operaciones que establece el programa en ejecucin.
3.1. Arquitectura de Von Neuman
Se conoce por este nombre la arquitectura que implementan los computado-
res actuales y que se describe por primera vez en un documento escrito por
John Von Neumann (1903-1957) como colaborador en el proyecto EDVAC, de
donde toma el nombre.
-
CC-BY-SA PID_00163597 19 Introduccin a los fundamentos de los computadores
La caracterstica distintiva es que se trata de una arquitectura en la que tanto
los datos como el programa se almacenan en la memoria principal, que est
ligada directamente a la CPU. El concepto de programa almacenado difiere ra-
dicalmente del tipo de programacin que se practicaba en los computadores
precedentes, y que se basaba en la modificacin de los circuitos electrnicos.
Esta arquitectura es la base de los computadores modernos, en los que pode-
mos identificar estas dos caractersticas:
1) Programa almacenado. Tanto los datos como las instrucciones del progra-
ma a ejecutar se encuentran en la memoria principal del computador. De este
hecho se derivan dos consecuencias. Por una parte, esta caracterstica dota al
computador de una amplia generalidad. De la otra, la comunicacin entre la
memoria y la CPU se convierte en crtica y constituye un verdadero cuello de
botella en el rendimiento de la mquina.
2) Unidad de control (relativamente) simple. En esta arquitectura, la
unidad de control no se tiene que ocupar de ejecutar todo el programa,
sino que hace de manera iterativa una nica tarea: el ciclo de ejecucin de
instrucciones.
Figura 4. Arquitectura de Von Neumann
Con un procesador de este tipo, la estructura bsica de un computador digital
es la que aparece en la figura 5.
Figura 5. Arquitectura de un computador tipo Von Neumann
-
CC-BY-SA PID_00163597 20 Introduccin a los fundamentos de los computadores
3.2. La arquitectura de Harvard
La arquitectura de Von Neumann tiene en s misma dos grandes limitaciones.
Por una parte, el acceso a memoria es un punto crtico y limita el rendimiento
de los sistemas basados en este tipo de arquitectura. Por otra parte, lleva im-
plcita la idea de la ejecucin secuencial, es decir, de la ejecucin de una nica
instruccin al mismo tiempo, lo cual limita las posibilidades de ejecucin en
paralelo.
De las llamadas arquitecturas no Von Neumann podemos destacar la arquitec-
tura de Harvard. La caracterstica principal de esta arquitectura es que dispone
de una memoria dedicada al programa y una segunda memoria para los datos.
Esta diferencia ayuda a corregir la limitacin que supone el acceso a memoria,
ya que permite hacer operaciones con la memoria de datos mientras se accede
a la memoria de programa. Por otra parte, tambin limita la posibilidad de la
automodificacin de los programas, que si bien desde el primer momento fue
un aliciente en la arquitectura de Von Neumann, ha llegado a convertirse en
un problema.
El uso de la arquitectura de Harvard se ha extendido en el campo de los micro-
controladores y de la electrnica distribuida. Su estructura general la podemos
ver reflejada en la figura 6.
Figura 6. Arquitectura de Harvard
Automodificacin del cdigo
La automodificacin del cdi-go (la capacidad de un progra-ma para cambiarse a s mismo) ha sido uno de los recursos que se ha aprovechado para elabo-rar cdigo malintencionado como los virus.
-
CC-BY-SA PID_00163597 21 Introduccin a los fundamentos de los computadores
Resumen
En este mdulo se hace una introduccin a los conceptos que se trabajan a lo
largo de los mdulos siguientes: la codificacin adecuada de la informacin
para interpretarla y tratarla dentro de los computadores, la tecnologa con la
que se construyen los sistemas digitales en general y la arquitectura bsica de
los computadores.
Los computadores actuales se presentan como el resultado de una evolucin
que se ha llevado a cabo a lo largo de los aos, partiendo de la arquitectura
bsica fijada en la primera generacin de computadores, con la incorporacin
del concepto de programa almacenado, y se enumeran los principales cambios
tecnolgicos que han permitido mejorar el rendimiento de las mquinas hasta
el momento actual.
Se dedica un apartado a describir con ms detalle la arquitectura bsica de los
computadores digitales, indicando la relacin entre los dispositivos de entra-
da, el procesador y los dispositivos de salida. Al mismo tiempo, se muestran
los elementos constitutivos del procesador: la CPU y la memoria.
-
CC-BY-SA PID_00163597 23 Introduccin a los fundamentos de los computadores
Bibliografa
Augarten, S. (1984). Bit by Bit. An Illustrated History of Computers. Nueva York: Ticknor &Fields
Ceruzi, P. E. (1998). A History of Modern Computing. Massachussets: The MIT Press.
Williams, M. R. (1997). History of Computing Technology. Los Alamitos, CA: IEEE ComputerSociety Press.
-
Representacin de la informacinA. Josep Velasco Gonzlez
Con la colaboracin de:Ramon Costa CastellMontse Peiron Gurdia
PID_00163598
-
CC-BY-SA PID_00163598 2 Representacin de la informacin
-
CC-BY-SA PID_00163598 Representacin de la informacin
ndice
Introduccin .......................................................................................... 5
Objetivos ................................................................................................. 7
1. Los nmeros y los sistemas de representacin ........................ 91.1. Sistemas de representacin ........................................................... 9
1.2. Sistemas de numeracin posicionales ......................................... 10
1.3. Cambios de base ........................................................................... 13
1.3.1. Mtodo basado en el TFN ................................................. 13
1.3.2. Mtodo basado en el teorema de la divisin entera ......... 14
1.3.3. Cambio de base entre b y bn ............................................. 17
1.4. Empaquetamiento de la informacin .......................................... 18
1.5. Nmeros con signo ....................................................................... 21
1.6. Suma en los sistemas posicionales ............................................... 22
1.7. Resta en los sistemas posicionales ................................................ 22
1.8. Multiplicacin y divisin por potencias de la base
de numeracin .............................................................................. 23
2. Representacin de los nmeros en un computador ............... 262.1. Condicionantes fsicos ................................................................. 26
2.1.1. Rango de representacin ................................................... 27
2.1.2. Precisin ............................................................................ 28
2.1.3. Error de representacin ..................................................... 28
2.1.4. Aproximaciones: truncamiento y redondeo ..................... 28
2.1.5. Desbordamiento ................................................................ 30
2.2. Nmeros naturales ........................................................................ 31
2.3. Nmeros enteros ........................................................................... 33
2.3.1. Representacin de enteros en signo
y magnitud en base 2 ........................................................ 33
2.3.2. Suma y resta en signo y magnitud .................................... 35
2.3.3. Representacin en complemento a 2 ................................ 36
2.3.4. Cambio de signo en complemento 2 ................................ 38
2.3.5. Magnitud de los nmeros en complemento a 2 ............... 40
2.3.6. Suma en complemento a 2 ............................................... 40
2.3.7. Resta en complemento a 2 ................................................ 42
2.3.8. Multiplicacin por 2k de nmeros en complemento a 2 ..... 43
2.4. Nmeros fraccionarios .................................................................. 44
3. Otros tipos de representaciones .................................................. 533.1. Representacin de informacin alfanumrica ............................. 53
3.2. Codificacin de seales analgicas .............................................. 55
3.3. Otras representaciones numricas ................................................ 58
-
CC-BY-SA PID_00163598 Representacin de la informacin
3.3.1. Representacin en exceso a M .......................................... 58
3.3.2. Representacin en coma flotante ..................................... 60
3.3.3. Representacin BCD .......................................................... 64
Resumen .................................................................................................. 66
Ejercicios de autoevaluacin ............................................................. 67
Solucionario ........................................................................................... 68
Glosario ................................................................................................... 94
Bibliografa ............................................................................................ 95
-
CC-BY-SA PID_00163598 5 Representacin de la informacin
Introduccin
Inicialmente, los computadores fueron desarrollados como una herramienta
para agilizar la realizacin repetitiva de operaciones aritmticas y lgicas bsi-
cas, que con el tiempo fueron ganando complejidad, tanto por el nmero de
operaciones como por la complejidad propia de los clculos. Hoy en da, sin
haber perdido la utilidad original, los computadores se han ido diversificando,
adaptndose a mltiples aplicaciones hasta convertirse en un elemento im-
prescindible en todos los campos de la ciencia, de la comunicacin y del ocio.
A pesar de los grandes cambios que han ido sufriendo las mquinas, el procesa-
miento de los datos dentro de un computador contina basado en la realizacin
de operaciones aritmticas y lgicas sencillas sobre datos que se encuentran en
la memoria principal. All pueden haber llegado de procedencias diversas, pero
en todos los casos, la informacin ha sufrido una transformacin: se ha codifi-
cado de manera adecuada para poder ser tratada por un procesador digital.
Las caractersticas de la tecnologa con la que se construyen los computadores
obligan a trabajar con slo dos smbolos diferentes: el 0 y el 1. Toda la infor-
macin que tenga que procesar un computador se tendr que codificar usando
nicamente estos dos smbolos.
Dentro de un computador, cualquier informacin (valor numrico, texto,
audio, vdeo) est representada como una cadena de 0s y 1s. Ahora bien, una
cadena de ceros y unos slo tiene sentido si conocemos el formato de repre-
sentacin, es decir, la manera como est codificada la informacin, lo cual in-
cluye saber: el tipo de dato (es un nmero, un texto, una seal de audio
digitalizada, etc.) y el sistema utilizado para representar este tipo de datos (es
decir, el sistema de numeracin, si es un nmero; la tabla de codificacin de
los caracteres, si se trata de un texto; el algoritmo de codificacin y/o compre-
sin por informacin multimedia; etc.)
Qu codifica la cadena 10100100? Pues depende. De qu tipo de dato se tra-
ta? Si es un texto, y se ha usado el cdigo ASCII ISO-8859-15 se trata del carc-
ter ; si es un nmero natural, se trata del valor decimal 164; si es un entero
codificado en signo y magnitud, es el valor decimal 36; si es un entero codi-ficado en el sistema de complemento a 2, es el valor decimal 92; etc. En todoslos casos se trata de la misma cadena, pero en cada caso se est considerando
que esta cadena es el resultado de codificar la informacin de una manera di-
ferente.
La informacin que procesa un computador digital est codificada en cadenas
de ceros y unos, y esto quiere decir que las operaciones que tienen lugar en el
Nota
Se usan los smbolos 0 y 1, por-que son los dgitos binarios, el sistema que emplean los com-putadores. Adems, tambin se usan para designar los tr-minos verdad y falso en las ope-raciones lgicas.
Nota
Signo y magnitud y comple-mento a 2 son sistemas de re-presentacin de nmeros con signo que se describen en la se-gunda seccin de este mdulo.
-
CC-BY-SA PID_00163598 6 Representacin de la informacin
computador son operaciones sobre cadenas de ceros y unos. De hecho, todo
el procesamiento que se hace en los computadores se reduce a operaciones
aritmticas y lgicas sencillas sobre las cadenas que codifican la informacin.
Estos son, pues, los puntos de partida:
Dentro de un computador toda la informacin se codifica como cadenas
de ceros y unos.
Una cadena de ceros y unos no tiene sentido por ella misma. Hay que co-
nocer la manera como se codifica la informacin, esto es el formato en que
estn codificados los datos.
El procesamiento que lleva a cabo un computador sobre las cadenas de ce-
ros y unos consiste en operaciones aritmticas y lgicas sencillas.
Mayoritariamente, la informacin dentro de los computadores es tratada
como nmeros y operada como tal, por lo tanto, conocer la manera en que se
codifican los nmeros es bsico para entender el funcionamiento de los com-
putadores.
En este mdulo se explican los sistemas bsicos de codificacin de la informa-
cin, prestando especial atencin a la representacin de la informacin num-
rica, a la que se dedica la mayor parte del mdulo. El mdulo se estructura de
la forma siguiente. En primer lugar, se hace un anlisis del sistema de nume-
racin con el que estamos habituados a trabajar. A continuacin, se explican
los sistemas de codificacin de nmeros ms usuales en los computadores, y
finalmente, se dan las pautas para la codificacin de datos no numricos.
-
CC-BY-SA PID_00163598 7 Representacin de la informacin
Objetivos
Se enumeran a continuacin los principales objetivos que hay que lograr con
el estudio de este mdulo:
1. Comprender cmo se puede representar cualquier tipo de informacin dentro
de los computadores y conocer los principios bsicos de la codificacin.
2. Conocer en profundidad los sistemas ponderados no redundantes de base
fija 2, 10 y 16, adems de saber representar un mismo valor numrico en
bases diferentes.
3. Comprender y saber utilizar los formatos con que se codifica la informa-
cin numrica en un computador: el sistema ponderado en binario para los
nmeros naturales; signo y magnitud y complemento a 2 para los nmeros
enteros, y la representacin de nmeros fraccionarios en coma fija.
4. Conocer las operaciones aritmticas bsicas que lleva a cabo un computa-
dor y saber efectuarlas a mano. Estas operaciones son la suma, la resta y la
multiplicacin y divisin por potencias de la base de nmeros naturales,
enteros y fraccionarios.
5. Comprender los conceptos de rango y precisin de un formato de codifica-
cin de la informacin numrica en un computador, as como los concep-
tos de desbordamiento y de error de representacin.
6. Entender la manera de empaquetar cadenas de unos y ceros a partir de la
base 16.
7. Conocer la forma de representar caracteres en formato ASCII.
-
CC-BY-SA PID_00163598 9 Representacin de la informacin
1. Los nmeros y los sistemas de representacin
El objetivo de esta seccin es analizar el sistema de numeracin que utiliza-
mos, identificando los parmetros que lo definen. Para hacerlo, se introducen
los conceptos de raz o base y de peso asociado a la posicin de un dgito. Se-
guidamente, se explican las tcnicas para encontrar la representacin de un
nmero en un sistema posicional de raz fija cuando se cambia la raz. Final-
mente, se hace un anlisis de la operacin ms comn, la suma, y de su ho-
mloga, la resta, as como de la multiplicacin y de la divisin de nmeros por
potencias de la base de numeracin.
1.1. Sistemas de representacin
La idea de valor numrico es un concepto abstracto que determina una canti-
dad. Los valores numricos estn sujetos a un orden de precedencia que se uti-
liza para relacionarlos y llegar a conclusiones. Para trabajar de manera gil con
este tipo de informacin, tenemos que poder representar los valores numri-
cos de manera eficiente, por lo cual se han desarrollado los llamados sistemas
de numeracin.
El abanico de sistemas de numeracin es bastante amplio. Entre otros, pode-
mos encontrar los sistemas de raz o base, los sistemas de dgitos firmados, los
sistemas de residuos y los sistemas racionales. De estos, los sistemas basados
en raz (o base) son los que ms se utilizan por las ventajas que aportan en la
manipulacin aritmtica de los valores numricos, y en ellos centraremos
nuestra atencin.a
Cuando trabajamos con base 10, disponemos de diez smbolos diferentes, que
denominamos dgitos, para la representacin: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. Si la
base del sistema de numeracin es 2, se dispone de dos dgitos, el 0 y el 1. En
base 16, hay diecisis dgitos diferentes, que se representan por: 0, 1, 2, 3, 4, 5,
6, 7, 8, 9, A, B, C, D, E y F.
Terminologa
A lo largo del texto utilizare-mos indistintamente los trmi-nos representar y codificar para referirnos a la manera como se escribe un dato segn una sin-taxis y un conjunto de smbo-los determinado.
Un sistema de numeracin es una metodologa que permite represen-
tar un conjunto de valores numricos.
Terminologa
Se puede utilizar la designa-cin de base o raz de forma indistinta, a pesar de que es ms comn el uso de la pala-bra base: hablamos de sistemas de numeracin en base n.
Un sistema de numeracin basado en raz describe los valores num-
ricos en funcin de una o varias races. La raz o base del sistema de nu-
meracin indica el nmero de dgitos diferentes de que se dispone.
Terminologa
Dgito: cada uno de los signos grficos empleados para repre-sentar los nmeros en un siste-ma de numeracin.
-
CC-BY-SA PID_00163598 10 Representacin de la informacin
Los sistemas de numeracin que usan slo una base reciben el nombre de sis-
temas de numeracin de base fija. El sistema de numeracin que usamos en
nuestra aritmtica cotidiana es un sistema de numeracin de base fija en que
la base de numeracin es 10.
Consideremos el nmero 321 en nuestro sistema de numeracin en base 10.
Hemos usado el dgito 3, el dgito 2 y el dgito 1, ordenados de una manera
determinada. Estos mismos dgitos ordenados de otro modo (por ejemplo,
213) representan un nmero diferente, pese a estar constituido por los mis-
mos dgitos. Los sistemas de numeracin en los cuales el orden de los dgi-
tos es determinante en la representacin numrica se denominan sistemas
posicionales.
A partir de este punto, los anlisis y los estudios contenidos en el resto de apar-
tados de este mdulo hacen referencia a sistemas de numeracin posicionales
de base fija, que son los que tienen ms inters para el estudio de la represen-
tacin de la informacin numrica en los computadores.a
1.2. Sistemas de numeracin posicionales
Entendemos que el 632 en base 10 representa 6 centenas, 3 decenas y 2 uni-
dades. Es decir, los dgitos tienen peso 100, 10 y 1, respectivamente. Un cam-
bio de orden de los dgitos (por ejemplo, 326), cambia los pesos asociados a
cada dgito y, por lo tanto, el nmero representado. En un sistema de nume-
racin posicional, cada dgito tiene asociado un peso que depende de la posi-
cin y de la base de numeracin.a
Los sistemas de numeracin de base mixta
Son los que usan ms de una base de numeracin. Un ejem-plo de este tipo de sistema es el sistema horario, donde los va-lores vienen dados en funcin de las bases 24, 60 y 60 (horas, minutos y segundos).
Un sistema de numeracin posicional es aqul en que la representa-
cin de un valor numrico est determinada por una secuencia ordena-
da de dgitos.
Terminologa
Utilizaremos X para referirnos al concepto abstracto de valor numrico. La representacin del valor numrico X en base b lo escribiremos de la forma X(b donde b es la base en decimal.
Un sistema de numeracin posicional de base fija es aqul en que un
valor numrico X se representa como una secuencia ordenada de dgi-
tos, de la manera siguiente:
donde cada xi es un dgito tal que , donde b es la base del
sistema de numeracin y xi es el dgito de la posicin i-sima de la
secuencia.
mnn xxxxxx 10121 ,
0 1ix b
-
CC-BY-SA PID_00163598 11 Representacin de la informacin
El sistema de numeracin de base 10 con que trabajamos habitualmente reci-
be el nombre de sistema decimal. De manera anloga, se denomina sistema
hexadecimal el sistema de numeracin en base 16, sistema octal el que usa
base 8 y sistema binario, el que usa base 2. Los dgitos binarios reciben el nom-
bre de bits. a
Consideremos, de nuevo, el nmero 632(10. Lo podemos escribir en funcin
de los pesos asociados a cada posicin:
Segn la definicin, el 2 ocupa la posicin 0, el 3 la posicin 1 y el 6 la po-
sicin 2. Podemos reescribir la expresin anterior relacionando los pesos con
la base de numeracin y con la posicin que ocupa cada dgito:
El 34,75(10 tambin se puede escribir en funcin de la base y de las posicio-
nes:
En general, un sistema de representacin numrica posicional de base fija per-
mite expresar un valor numrico en funcin de la base de numeracin y de la
posicin de cada dgito. a
La secuencia de dgitos que representa un valor numrico en un sistema po-
sicional debe ser ordenada porque cada posicin tiene un peso asociado.
Este peso depende de la posicin y de la base de numeracin. El peso aso-
ciado a la posicin p es bp, donde b es la base de numeracin. a
Las posiciones con subndice negativo corresponden a la parte fraccio-
naria del nmero, mientras que las posiciones con subndice positivo
corresponden a la parte entera. La frontera entre la parte entera y la
parte fraccionaria se indica con una coma. Los dgitos de la parte entera
se consignan a la izquierda de la coma y los de la parte fraccionaria a la
derecha de la coma.
Terminologa
Evitaremos utilizar la expresin parte decimal, para designar la parte fraccionaria de un nme-ro y eludiremos, as, la ambi-gedad del trmino nmero decimal. Un nmero decimal es un nmero en base 10, no un nmero con parte fraccio-naria.
Terminologa
Un dgito binario recibe el nombre de bit, que es un acr-nimo de la expresin inglesa binary digit.
(10632 6 100 3 10 2 1
Nota
Segn la numeracin de posi-ciones definida, el 7 ocupa la posicin 1 y el 5 la posicin 2, mientras que el 3 y el 4 (dgitos de la parte entera) ocupan las posiciones 1 y 0, respectivamente.
2 1 0(10632 6 10 3 10 2 10
1 0 1 2(1034,75 3 10 4 10 7 10 5 10
Recordemos que 1k
kx x
-
CC-BY-SA PID_00163598 12 Representacin de la informacin
De este teorema se desprende que, adems de la secuencia de dgitos, en un
sistema posicional de raz fija hay que conocer la base de numeracin para de-
terminar el valor numrico representado. a
La secuencia de dgitos 235 es vlida en todas las bases ms grandes que 5 (porque
el 5 no es un dgito vlido en bases inferiores a 6). Ahora bien, en bases diferentes
representa nmeros diferentes. Por lo tanto, 235(6 235(10 235(16. La tabla si-guiente muestra la correspondencia entre las representaciones de algunos valores:
Terminologa
Expresar un nmero en funcin de la base de numeracin equi-vale a escribirlo de la forma:
* Abreviaremos teorema fundamental de la numeracin con
la sigla TFN.
1 21 2
n nn nx b x b
El nmero X representado por la secuencia de dgitos
se puede expresar en funcin de la base de
numeracin de la forma:
donde cada xi es un dgito tal que , donde b es la base del sis-
tema de numeracin y xi el dgito de la posicin i-sima de la secuencia.
Esta expresin se conoce como el teorema fundamental de la nume-
racin (TFN).*
1 2 1 0 1,n n mx x x x x x
1 1 21 2 n i n n mi n n mi m
X x b x b x b x b
0 1ix b
Elementos de la tabla
En cada columna se represen-tan los valores numricos des-de el 0 hasta el 18(10 en la base indicada en la casilla superior de la columna. En cada fila dis-ponemos de la representacin del mismo valor numrico en diferentes bases.
Base 2 Base 4 Base 8 Base 10 Base 16
0 0 0 0 0
1 1 1 1 1
10 2 2 2 2
11 3 3 3 3
100 10 4 4 4
101 11 5 5 5
110 12 6 6 6
111 13 7 7 7
1000 20 10 8 8
1001 21 11 9 9
1010 22 12 10 A
1011 23 13 11 B
1100 30 14 12 C
1101 31 15 13 D
1110 32 16 14 E
1111 33 17 15 F
10000 100 20 16 10
10001 101 21 17 11
10010 110 22 18 12
-
CC-BY-SA PID_00163598 13 Representacin de la informacin
1.3. Cambios de base
La secuencia ordenada de dgitos que representa un valor numrico cambia se-
gn la base del sistema de numeracin, pero hay una relacin entre las secuen-
cias de dgitos.
En los apartados siguientes, se exponen dos tcnicas de cambio de base.
1.3.1. Mtodo basado en el TFN
Si aplicamos el TFN al 324(10 lo podemos escribir como:
Haciendo las operaciones de la derecha en base 10, se obtiene la representacin
en base 10, que es la que tenemos a la izquierda de la igualdad. Ahora bien, si ha-
cemos las operaciones en base 7, tendremos la representacin en base 7. En gene-
ral, si hacemos las operaciones en base b obtenemos la representacin en base b.
Como la dificultad es operar en una base que no sea base 10 (porque no esta-
mos acostumbrados), el mtodo ser til para pasar a base 10.a
Cambio de base basado en el TFN
Para cambiar a base 10 el 462(7:
1) Expresamos el nmero en funcin de la base (base 7) segn el TFN:
462(7 = 4 72 + 6 71 + 2 70
2) Hacemos las operaciones en la base de llegada (base 10):
4 72 + 6 71 + 2 70 = 4 49 + 6 7 + 2 1 = 240(10
Las secuencias de dgitos 462(7 y 240(10 representan el mismo valor numrico, pero enbases diferentes: base 7 la primera y base 10 la segunda.
Uso de los cambios de base
Utilizaremos los cambios de base para convertir la repre-sentacin de un nmero entre las bases 2, 10 y 16.
Los mtodos de cambio de base permiten encontrar la secuencia orde-
nada de dgitos que representa un valor numrico X en el sistema de nu-
meracin en base b, a partir de la representacin en el sistema de
numeracin en base b, es decir:
( ( '_ _ _ ' b bcanvi a base b X X
2 1 0(10324 3 10 2 10 4 10
Valores decimales
Dgitos Hexadecimales
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F
Para hallar la representacin de X(b en base 10 tenemos que:
1) Expresar X(b en funcin de la base b, siguiendo el TFN;
2) Hacer las operaciones en base 10.
Cuando b 10 los dgitos de la base b se tienen que cambiar a base 10antes de hacer las operaciones.
-
CC-BY-SA PID_00163598 14 Representacin de la informacin
El mtodo es vlido tanto para nmeros enteros como para nmeros con parte
fraccionaria.a
Cambios de base basados en el TFN
Para pasar a base 10 el nmero 101100,01(2:
1) Expresamos el nmero en funcin de la base (base 2):
101100,01(2 = 1 25 + 0 24 + 1 23 + 1 22 + 0 21 + 0 20 + 0 21 + 1 22
2) Hacemos las operaciones en base 10:
1 25 + 0 24 + 1 23 + 1 22 + 0 21 + 0 20 + 0 21 + 1 22 = 1 32 + 0 16 + 1 8 + 1 4 + 0 2 + 0 1 + 0 0,5 + 1 0,25 = 44,25(10
El 101100,01(2 en base 10 es el 44,25(10.
Para pasar a base 10 el nmero AF2C,2(16:
1) Expresamos el nmero en funcin de la base (base 16):
AF2C,2(16 = A 163 + F 162 + 2 161 + C 160 + 2 161
2) Hacemos las operaciones en base 10. En este caso, tenemos que cambiar a base 10 losdgitos hexadecimales antes de hacer las operaciones:
A 163 + F 162 + 2 161 + C 160 + 2 161 =10 163 + 15 162 + 2 161 + 12 160 + 2 161 = 44844,125(10
El AF2C,2(16 en base 10 es el 44844,125(10.
1.3.2. Mtodo basado en el teorema de la divisin entera
Este mtodo de cambio de base consiste en hacer divisiones enteras por la nue-
va base de numeracin de manera iterativa. Los residuos de las divisiones en-
teras son los dgitos de la representacin en la nueva base.
Para cambiar a base 7 el nmero 317(10, hacemos divisiones enteras por 7:
317 45 7 245 46 7 3
6 40 7 6317(10 632(7
La secuencia de residuos en orden inverso nos da la representacin en la nue-
va base. El nmero 317(10 en base 7 es el 632(7.
Como las operaciones se hacen en la base inicial, este mtodo es especialmen-
te til para pasar de base 10 a otra.a
Para el cambio de base de nmeros fraccionarios con este mtodo tenemos que
tratar por separado la parte entera y la parte fraccionaria.a
-
CC-BY-SA PID_00163598 15 Representacin de la informacin
Cambios de base por el mtodo de la divisin entera
Cambiar a base 2 el 44,25(10:
a) Parte entera: sucesivamente, hacemos divisiones enteras por la nueva base (base 2)hasta obtener un cociente 0, y tomamos los residuos en orden inverso:
44 = 22 2 + 022 = 11 2 + 011 = 5 2 + 1
5 = 2 2 + 1 2 = 1 2 + 0 1 = 0 2 + 144(10 = 101100(2
b) Parte fraccionaria: sucesivamente, multiplicamos por la nueva base (base 2):
0,25 2 = 0,50 = 0,50 + 00,50 2 = 1,00 = 0,00 + 1
0,25(10 = 0,01(2
Para completar el cambio de base, unimos la parte entera y la parte fraccionaria que re-sultan:
44,25(10 = 101100(2 + 0,01(2 = 101100,01(2
El 44,25(10 en base 2 es el 101100,01(2.
Cambiar a base 16 el 44844,12(10:
a) Parte entera: sucesivamente, hacemos divisiones enteras por 16 hasta obtener un co-ciente 0:
44844 = 2802 16 + 12 2802 = 175 16 + 2 175 = 10 16 + 15 10 = 0 16 + 10
Ejemplo
Un nmero con parte fraccio-naria finita no peridica en una base puede tener una parte fraccionaria infinita peridica en otra base. Por ejemplo,
(2(100,3 0,010011001 .
Para hallar la representacin de X(10 a base b:
1) Parte entera: sucesivamente, hacer en base 10 la divisin entera por
la nueva base b. Paramos la sucesin de divisiones cuando obtenemos
un cociente 0. La secuencia de residuos, tomados del ltimo al primero,
es la secuencia de dgitos de izquierda a derecha de la parte entera en la
nueva base. Cuando b 10, los residuos se tienen que pasar a dgitos dela nueva base.
2) Parte fraccionaria: sucesivamente, se separa la parte fraccionaria y
se multiplica por la nueva base b. Las operaciones se hacen en base 10.
Paramos la sucesin de multiplicaciones cuando encontramos un com-
portamiento peridico o cuando tenemos dgitos suficientes. La secuen-
cia de valores enteros obtenidos al hacer las multiplicaciones tomados
del primero al ltimo es la secuencia de dgitos de izquierda a derecha
en la nueva base de representacin. Cuando b 10 los enteros obteni-dos se tienen que pasar a dgitos de la nueva base.
Finalmente, hay que unir la parte entera y la parte fraccionaria obte-
nidas.
-
CC-BY-SA PID_00163598 16 Representacin de la informacin
Como la nueva base es mayor que 10, tenemos que convertir los residuos a la nueva base(base 16):
12(10 = C(16 2(10 = 2(16 44844(10 = AF2C(1615(10 = F(1610(10 = A(16
b) Parte fraccionaria: sucesivamente, multiplicamos por 16:
0,12 16 = 1,92 = 0,92 + 10,92 16 = 14,72 = 0,72 + 140,72 16 = 11,52 = 0,52 + 110,52 16 = 8,32 = 0,32 + 80,32 16 = 5,12 = 0,12 + 50,12 16 = 1,92 = 0,92 + 10,92 16 = 14,72 = 0,72 + 14...
La secuencia de enteros que obtenemos se repite (1,14,11,8,5,1,14,...). Por lo tanto, es unnmero peridico. Adems, los enteros se tienen que convertir a dgitos de base 16:
1(10 = 1(1614(10 = E(1611(10 = B(16 8(10 = 8(16 5(10 = 5(16 1(10 = 1(16
0,12(10 = 0,1EB851EB851EB...(16 =
Finalmente, uniremos la parte entera y la parte fraccionaria:
44844,12(10 = AF2C,
El 44844,12(10 en base 16 es el AF2C, .
Cambio entre bases diferentes de la base 10
El cambio a base 6 del 232,1(4 lo tenemos que hacer en dos pasos:
1) Hacemos el cambio a base 10 del 232,1(4 aplicando el mtodo del TFN:
232,1(2 = 2 42 + 3 41 + 2 40 + 1 41 =
= 32 + 12 + 2 + 0,25 = 46,25(10
2) Hacemos el cambio a base 6 del 46,25(10:
46 = 7 6 + 4 0,25 6 = 1,50 = 0,50 + 1 7 = 1 6 + 1 0,50 6 = 3,00 = 0,00 + 3 1 = 0 6 + 1
46(10 = 114(6 0,25(10 = 0,13(6
El 46,25(10 es equivalente al 114,13(6
Por lo tanto, el 232,1(4 es el 114,13(6 en base 6.
(160,1EB85
Potencias de 2
216 65536
215 32768
214 16384
213 8192
212 4096
211 2048
210 1024
29 512
28 256
27 128
26 64
25 32
24 16
23 8
22 4
21 2
20 1
21 0,522 0,2523 0,12524 0,062525 0,0312526 0,01562527 0,007812528 0,00390625
Para cambiar de base b a base b, donde ni b ni b son la base 10, utiliza-
mos la base 10 como base intermedia. As, usamos el primer mtodo
(basado en el TFN) para pasar de base b a base 10 y, posteriormente, el
segundo mtodo (basado en el teorema de la divisin entera) para pasar
de base 10 a base b.
(161EB85
(16,1EB85
-
CC-BY-SA PID_00163598 17 Representacin de la informacin
1.3.3. Cambio de base entre b y bn
El cambio de base b a base bn es directo, porque...
Esta circunstancia se da entre base 2 y base 16 (porque 16 = 24) o entre base 16
y base 4 (porque 16 = 42), pero no entre base 8 y base 16, porque 16 no es po-
tencia de 8.
Cambio de base b a base bn
En el cambio a base 16 del 10010110,01101101(2, tendremos en cuenta que
16 es potencia de 2: 16 = 24. Esta relacin indica que cada dgito de base 16 se
corresponde con cuatro dgitos de base 2.
aEl cambio de base se consigue si hacemos agrupaciones de cuatro dgitos binarios,y convertimos cada agrupacin en un dgito hexadecimal. Las agrupaciones se ha-
cen siempre partiendo de la coma fraccionaria, y tienen que ser completas. Si fal-
tan dgitos para completar una agrupacin, aadiremos ceros.a
El 10010110,01101101(2 es en base 16 el 96,6D(16.
En el cambio a base 16 del 101110,101101(2 tenemos que completar las agru-
paciones aadiendo ceros (en este caso, tanto en la parte entera como la frac-
cionaria):
101110,101101(2 = 2E,B4(16
Cambio de base bn a base b
Cuando el cambio es de base bn a b, el procedimiento es anlogo pero en sen-
tido inverso: cada dgito en base bn se transforma en n dgitos en base b.
Para cambiar a base 2 el 7632,13(8, tendremos en cuenta que 8 = 23. Por con-
siguiente, cada dgito en base 8 dar lugar a tres dgitos binarios:
7632,13(8 = 111110011010,001011(2
...un dgito en base bn se corresponde con n dgitos en base b.
Ved la correspondencia entre binario y hexadecimal en la tabla del subapartado 1.2
1001 0110 , 0110 1101 (29 6 , 6 D (16
0010 1110 , 1011 0100 (2
2 E , B 4 (16
7 6 3 2 , 1 3 (8
111 110 011 010 , 001 011 (2
-
CC-BY-SA PID_00163598 18 Representacin de la informacin
Debemos prestar atencin al hecho de que hay que obtener exactamente n d-
gitos en base b por cada dgito en base bn (en este caso, tres dgitos binarios por
cada dgito octal), aadiendo para cada dgito los ceros necesarios. Veamos c-
mo en el cambio a base 2 del E1B2,4F(16 cada dgito hexadecimal da lugar a
cuatro dgitos binarios.
E1B2,4F(16 = 1110000110110010,01001111(2
Errores frecuentes
A menudo se cometen dos errores en estos tipos de cambio de base:
1) Cuando hacemos un cambio de base bn a base b, cada dgito de base bn tiene
que dar lugar, exactamente, a n dgitos en base b. Hay que evitar el error siguiente:
A3(16 101011(2
donde el dgito A ha dado lugar a los bits 1010 y el dgito 3 a los bits 11. En
realidad, ha de ser:
A3(16 10100011(2
donde se han aadido dos ceros para completar el conjunto de cuatro dgitos
que debe generar el dgito hexadecimal 3.
2) Cuando hacemos un cambio de base b a base bn, son necesarios n dgitos de
base b para obtener un dgito en base bn. Hay que evitar el error siguiente:
1100,11(2 C,3(16
donde los bits 1100 dan lugar al dgito hexadecimal C y los bits 11 al 3. En
realidad, ha de ser:
1100,1100(2 C,C(16
donde se han aadido 2 ceros a la derecha con objeto de constituir un grupo
de cuatro dgitos binarios que dan lugar al dgito hexadecimal C.
1.4. Empaquetamiento de la informacin
Con los cambios a base 2 tenemos un camino abierto para procesar los nmeros
dentro de los computadores. De hecho, dentro de los computadores, toda la in-
E 1 B 2 , 4 F (16
1110 0001 1011 0010 , 0100 1111 (2
-
CC-BY-SA PID_00163598 19 Representacin de la informacin
formacin (no slo la numrica) se codifica utilizando nicamente el smbolo
1 y el smbolo 0. Por lo tanto, toda la informacin que procesa un computador
est codificada en cadenas de unos y de ceros, es decir, en cadenas de bits.
Ahora bien, disponer slo de dos smbolos nos lleva a representaciones con un
gran nmero de dgitos, a cadenas de bits largas, que para nosotros (no para
los computadores) son difciles de recordar y de manipular.
Pues bien, podemos aprovechar la tcnica de hacer agrupaciones de cuatro bits
(en vista de los cambios de base 2 a base 16) para convertir las cadenas de bits
en dgitos hexadecimales y compactarlas, as, en cadenas mucho ms cortas y
manejables. Este proceso recibe el nombre de empaquetamiento hexadeci-
mal. El proceso inverso se denomina desempaquetamiento.
Habitualmente se coloca el smbolo h al final de la cadena de dgitos, para
indicar que son hexadecimales. a
Empaquetamiento de una cadena de bits
Para empaquetar la cadena de bits 110100100011, procedemos de la forma siguiente:
1) Dividimos la cadena 110100100011 de derecha a izquierda en grupos de 4 bits:
1101 0010 00112) Codificamos cada grupo de 4 bits como un dgito hexadecimal:
1101 0010 0011 D 2 3
Por lo tanto, si hacemos el empaquetamiento hexadecimal de la cadena de bits110100100011, se obtiene D23h.
El empaquetamiento hexadecimal es ampliamente utilizado en diferentes
mbitos relacionados con los computadores para facilitar el trabajo con n-
meros, instrucciones y direcciones de memoria. Este tipo de empaqueta-
miento se emplea sobre cadenas de bits, con independencia del sentido que
tengan los bits de la cadena. a
El proceso inverso, el desempaquetamiento, permite recuperar la cadena de
bits original. En este caso, cada dgito hexadecimal da lugar a 4 bits. As, el d-
gito hexadecimal 4 dara lugar al grupo de 4 bits 0100 y no al 100.a
Desempaquetamiento
Para desempaquetar la cadena D23h, convertimos los dgitos hexadecimales a base 2usando 4 bits para cada uno:
D 2 31101 0010 0011
El empaquetamiento hexadecimal consiste en compactar informa-
cin binaria en cadenas de dgitos hexadecimales.
-
CC-BY-SA PID_00163598 20 Representacin de la informacin
Por lo tanto, si desempaquetamos la cadena de dgitos hexadecimales D23h, se obtienela cadena de bits 110100100011.
Es importante diferenciar el concepto de empaquetamiento hexadecimal de ca-
denas de bits del concepto del cambio de base 2 a base 16. Cuando hagamos un
cambio de base 2 a base 16 de un nmero, debemos tener presente la posicin
de la coma fraccionaria, porque buscamos la representacin del mismo nmero
pero en base 16. Por lo tanto, las agrupaciones de 4 bits se hacen a partir de la
coma fraccionaria: hacia la izquierda de la coma, para obtener los dgitos hexa-
decimales enteros y hacia la derecha para conseguir los dgitos hexadecimales
fraccionarios. En cambio, en el empaquetamiento hexadecimal no se tiene en
cuenta el sentido de la informacin codificada y los bits se agrupan de 4 en 4 de
derecha a izquierda independientemente de su sentido. En este caso, lo que ob-
tenemos finalmente no es la representacin del nmero en base 16, sino una
cadena de dgitos hexadecimales que codifican una cadena de bits.a
Veamos esta diferencia segn hagamos el cambio a base 16 del nmero
111010,11(2 o el empaquetamiento hexadecimal. Si queremos hacer el cambio
a base 16, tenemos que hacer agrupaciones a partir de la coma fraccionaria,
aadiendo los ceros necesarios para completar las agrupaciones tanto por la
derecha como por la izquierda:
En este caso, el resultado que se obtiene indica que el nmero 111010,11(2 en
base 16 es el 3A,C(16.
En cambio, si queremos hacer un empaquetamiento hexadecimal, las agrupa-
ciones se hacen de derecha a izquierda, sin tener en cuenta la posicin de la
coma. Se trata como una tira de unos y ceros. El resultado final no guarda in-
formacin sobre la coma fraccionaria:
En este segundo caso, el resultado que se obtiene indica que el empaqueta-
miento hexadecimal de la cadena de bits 11101011 es EBh. Podemos compro-
bar que la secuencia de dgitos hexadecimales que se obtiene en uno y otro
caso puede ser diferente.
Actividades
1. Convertid a base 10 los valores siguientes:
a) 10011101(2b) 3AD(16c) 333(4
0011 1010 , 1100 (2
3 A , C (16
1110 10,11(2
E B
-
CC-BY-SA PID_00163598 21 Representacin de la informacin
d) 333(8e) B2,3(16f) 3245(8g) AC3C(16h) 1010,11(8i) 110011,11(4j) 10011001,1101(2k) 1110100,01101(2
2. Convertid a base 2 los valores siguientes:a) 425(10b) 344(10c) 31,125(10d) 4365,14(10
3. Convertid a hexadecimal los nmeros siguientes: a) 111010011,1110100111(2b) 0,1101101(2d) 45367(10c) 111011,1010010101(2
4. Convertid los nmeros hexadecimales siguientes a base 2, base 4 y base 8:a) ABCD(16b) 45,45(16c) 96FF,FF(16
5. Rellenad la tabla siguiente:
En cada fila veris un valor numrico expresado en la base que indica la casilla superiorde la columna donde se encuentra. Consignad en el resto de casillas la representacin co-rrespondiente segn la base indicada en la parte superior.
6. Empaquetad en hexadecimal la cadena de bits 10110001.
7. Empaquetad en hexadecimal el nmero 0100000111,111010(2 que est en un formatode coma fija de 16 bits, de los cuales 6 son fraccionarios.
8. Desempaquetad la cadena de bits A83h y,a) Encontrad el valor decimal si se trata de un nmero natural.b) Encontrad el valor decimal si se trata de un nmero en coma fija sin signo de 12 bits,donde 4 son fraccionarios.
9. Consideremos el nmero 1010,101(2.a) Haced el cambio a base 16.b) Haced el empaquetamiento hexadecimal.
1.5. Nmeros con signo
Cuando representamos magnitudes, a menudo les asignamos un signo (+/)que precede a la magnitud y que indica si la magnitud es positiva o negativa.
El smbolo identifica las magnitudes negativas y el smbolo las positivas:
+23(10 456(834,5(7 +AF,34(16
Binario Octal Hexadecimal Decimal
1101100,110
362,23
A1,03
74,3
Signo (+/) A veces, cuando se trabaja con nmeros con signo, el signo positivo (+) no se escribe y slo aparece el signo cuando se tra-ta de un nmero negativo.
-
CC-BY-SA PID_00163598 22 Representacin de la informacin
Designaremos los nmeros que llevan la informacin de signo como nmeros
con signo, en contraposicin a los nmeros sin signo, que slo nos dan infor-
macin sobre la magnitud del valor numrico.
1.6. Suma en los sistemas posicionales
El algoritmo de suma de dos nmeros decimales que estamos habituados a uti-
lizar progresa de derecha a izquierda, sumando en cada etapa los dgitos del
mismo peso (los que ocupan la misma posicin). Si la suma de estos dgitos
llega al valor de la base (10 en este caso), genera un acarreo (lo que nos lle-
vamos) que se sumar con los dgitos de la etapa siguiente:
En hexadecimal, se siguen las mismas pautas de suma, pero teniendo en cuen-
ta que hay 16 dgitos diferentes:
El proceso de suma en base 2 es anlogo:
Cuando se produce un acarreo en la ltima etapa de suma, el resultado tiene
un dgito ms que los sumandos. a
1.7. Resta en los sistemas posicionales
La operacin de resta tambin se lleva a cabo de derecha a izquierda, operando
los dgitos de igual peso, y considerando el acarreo* de la etapa precedente. La
* El dgito de acarreo recibe en ingls el nombre de carry. Este
trmino es de uso habitual en el entorno de los computadores.
1 1 dgito de acarreo*8 3 4 1 (10
+ 2 4 6 3 (10
1 0 8 0 4 (10 resultado
1 acarreo3 5 8 2 (16
+ A F 1 8 (16
E 4 9 A (16 resultado
Tabla de suma en base 2acarreo / bit de suma
+ 0 1
0 0/0 0/1
1 0/1 1/0
1 1 1 1 1 1 acarreo0 1 1 1 0 1 0 0 (2
+ 1 0 1 0 1 1 0 1 (2
1 0 0 1 0 0 0 0 1 (2 resultado
* En ingls el acarreo en el caso de la resta recibe
el nombre de borrow .
-
CC-BY-SA PID_00163598 23 Representacin de la informacin
particularidad en esta operacin es que el nmero de menor magnitud (sus-
traendo) es el que hay que restar del nmero de mayor magnitud (minuendo):
El procedimiento en otras bases es idntico. Slo hay que adecuarse a la nueva
base y poner atencin en restar la magnitud pequea de la grande:
En el caso de la operacin de resta no se puede producir ningn acarreo en la
ltima etapa. Por este motivo, el resultado de una resta de nmeros necesita,
como mximo, los mismos dgitos que el minuendo.a
1.8. Multiplicacin y divisin por potencias de la base
de numeracin
aEn un sistema posicional de base fija cada dgito tiene un peso bp donde b esla base de numeracin y p la posicin que ocupa el dgito. Los pesos asociados
a los dgitos de los nmeros decimales son potencias de 10. Por lo tanto, mul-
tiplicar por 10 se traduce en aumentar en una unidad la potencia de 10 aso-
ciada a cada dgito y dividir por 10 es equivalente a disminuir en una unidad
la potencia de 10 asociada a cada dgito.
Segn el TFN, el nmero 56,34(10 = 5101 + 6100 + 3101 + 4102. Si multi-
plicamos por 10 tenemos:
56,34(10 10 = (5 101 + 6 100 + 3 101 + 4 102) 10 =
= 5 102 + 6 101 + 3 100 + 4 101 = 563,4(10.
El efecto que se obtiene es el desplazamiento de la coma fraccionaria. Multi-
plicar por 10 un nmero en base 10 es equivalente a desplazar la coma fraccio-
naria una posicin a la derecha, mientras que dividirlo por 10 es equivalente
a desplazar la coma una posicin a la izquierda. El proceso se puede exten-
der a la multiplicacin y divisin por una potencia de 10: multiplicar por 10k
un nmero en base 10 equivale a desplazar la coma fraccionaria k posiciones
a la derecha, y dividirlo por 10k equivale a desplazar la coma fraccionaria k po-
siciones a la izquierda.
8 3 4 1 (10 minuendo1 1 1 acarreo
2 4 6 3 (10 sustraendo5 8 7 8 (10 resultado
Tabla de resta en base 2acarreo / bit de resta
minuendo
0 1
sust
raen
do 0 0/0 0/1
1 1/1 0/0
A F 1 8 (16 1 0 1 0 1 1 0 1 (21 acarreo 1 1 1 acarreo
3 5 8 2 (16 0 1 1 1 0 1 0 0 (27 9 9 6 (16 resultado 0 0 1 1 1 0 0 1 (2 resultado
Consultad los sistemas de numeracin posicionales del subapartado 1.2 de este mdulo.
-
CC-BY-SA PID_00163598 24 Representacin de la informacin
Este proceso de multiplicacin y divisin por potencias de la base de numera-
cin es vlido en todos los sistemas posicionales de base fija b. a
Multiplicacin por una potencia de 2 en binario
El resultado de multiplicar el 11010(2 por 24 se consigue si desplazamos la coma fraccio-
naria 4 posiciones a la derecha:
11010(2 24 = 110100000(2
Este resultado que obtenemos de forma directa se puede justificar con los clculos si-guientes:
11010(2 24 = (1 24 + 1 23 + 0 22 + 1 21 + 0 20) 24 =
= (1 28 + 1 27 + 0 26 + 1 25 + 0 24) = 110100000(2
Por lo tanto, 11010(2 24 = 110100000(2.
Divisin por una potencia de 2 en binario
El resultado de dividir el 11100(2 por 22 se consigue si desplazamos la coma fraccionaria
2 posiciones a la izquierda:
11100(2 / 22 = 111(2
Este resultado que obtenemos de forma directa se puede justificar con los clculos si-guientes:
11100(2 / 22 = (1 24 + 1 23 + 1 22 + 0 21 + 0 20) / 22 =
= (1 22 + 1 21 + 1 20 + 0 21 + 0 22) = 111(2
Por lo tanto, 11100(2 / 22 = 111(2.
La divisin por una potencia de la base de numeracin de un nmero sin
parte fraccionaria puede dar como resultado un nmero con parte fraccio-
naria: 11100(2 / 24 = 1,11(2. Ahora bien, podemos dar el resultado en forma
de dos nmeros enteros que reciben el nombre de cociente y resto, donde
el cociente tiene relacin directa con la parte entera del resultado y el resto
con la parte fraccionaria. En este caso, la operacin recibe el nombre de di-
visin entera, mientras que, por oposicin, la primera recibe el nombre de
divisin real.
El cociente y el resto de la divisin entera de 11100(2 por 24 se pueden ob-
tener a partir del resultado de la divisin real 11100(2 / 24 = 1,11(2, identi-
ficando el cociente con la parte entera (en este caso, el cociente es 1(2) y el
resto con la parte fraccionaria multiplicada por el divisor (en este caso, el resto
es 0,11(2 24 = 1100(2).
Nmeros sin parte fraccionaria
En un nmero sin parte fraccio-naria desplazar la coma k posi-ciones a la derecha equivale a aadir k ceros a la derecha, dado que la parte fraccionaria es cero.
Multiplicar por bk un nmero en un sistema posicional de base fija b
equivale a desplazar la coma fraccionaria k posiciones a la derecha.
Dividir por bk un nmero en un sistema posicional de base fija b equi-
vale a desplazar la coma fraccionaria k posiciones a la izquierda.
-
CC-BY-SA PID_00163598 25 Representacin de la informacin
Actividades
10. Calculad las operaciones siguientes en la base especificada:a) 111011010(2 100110100(2 b) 2345(8 321(8c) A23F(16 54A3(16 d) 111011010(2 100110100(2 e) 2345(8 321(8 f) A23F(16 54A3(1611. Calculad las operaciones siguientes en la base especificada:a) 62,48(16 35,DF(16 b) 111101101,11011(2 100110100,111(2 c) 62,48(16 35,DF(16 d) 111101101,11011(2 100110100,111(2 12. Calculad las multiplicaciones siguientes:a) 128,7(10 10
4
b) AFD(16 162
c) 1101,01(2 22
13. Hallad el cociente y el residuo de las divisiones enteras siguientes:a) 52978(10 / 10
3
b) 3456(16 / 162
c) 100101001001(2 / 28
El cociente y el resto de una divisin entera de un nmero entero por
una potencia de la base de numeracin se pueden obtener a partir del
resultado de divisin real, identificando el cociente con la parte entera
y el resto con la parte fraccionaria multiplicada por el divisor.
-
CC-BY-SA PID_00163598 26 Representacin de la informacin
2. Representacin de los nmeros en un computador
En esta segunda seccin se describen sistemas para representar nmeros que
se usan para codificar informacin numrica dentro de los computadores.
2.1. Condicionantes fsicos
A pesar de las continuas mejoras tecnolgicas, la capacidad de almacenamien-
to de los computadores es finita. Esto condiciona la representacin numrica
dentro de los computadores, sobre todo en nmeros con una parte fracciona-
ria infinita, como por ejemplo los casos muy conocidos de los nmeros o ey, en general, en la representacin de nmeros irracionales como .
Estas limitaciones son parecidas a las que encontramos cuando trabajamos
con lpiz y papel. En los clculos hechos a mano usamos el 3,14(10 o el
3,1416(10 como aproximacin a . Dentro de los computadores tambin se tra-baja con aproximaciones de los nmeros que no se pueden representar de ma-
nera exacta.
Si representamos el nmero por el valor 3,14(10, estamos cometiendo unerror igual a 3,14(10 = 0,00159..., mientras que si trabajamos con el valor3,1416(10 el error es 3,1416(10 = 7,3464102...106.
Cuando escribimos nmeros lo hacemos de la forma ms prctica y adecuada
en cada caso. Podemos escribir 03, 3,00, 3,000 o simplemente 3. En cambio,
dentro de los computadores hay que seguir una pauta ms rgida, un formato
que especifique y fije el nmero de dgitos enteros y fraccionarios con que se
trabaja. Si suponemos un formato de representacin de la forma x2x1x0,x1x2,donde cada xi es un dgito binario, el nmero 3(10 se tiene que representar
como 011,00(2.
Terminologa
A lo largo del texto, utilizare-mos indistintamente repre-sentacin y codificacin para referirnos a la secuencia de d-gitos asociada a un valor nu-mrico en un sistema de representacin numrica.
2
Nmeros representables
Los nmeros que se pueden re-presentar de forma exacta reci-ben el nombre de nmeros representables.
Cuando un nmero no se puede representar de manera exacta dentro
de un computador, se comete un error de representacin. Este error es
la distancia entre el nmero que queremos representar y el nmero re-
presentado realmente.
Un formato de representacin numrica es la manera especfica en
que se tienen que representar los valores numricos con que se trabaja.
El formato fija el conjunto de nmeros que se pueden representar.
-
CC-BY-SA PID_00163598 27 Representacin de la informacin
En los subapartados siguientes se describen los parmetros que nos ayudan a
medir la eficiencia de un formato de representacin numrica: el rango de re-
presentacin, la precisin y el error de representacin.
2.1.1. Rango de representacin
Fijado el formato x1x0,x1x2 en la base 10, slo podemos representar nmerosentre el 00,00(10 (el nmero ms pequeo representable en este formato) y el
99,99(10 (el nmero ms grande representable en este formato). El nmero 935(10no se p