fundamentos-computadores

446
Fundamentos de computadores PID_00160302 Material docente de la UOC

Upload: yolimarlares

Post on 30-Nov-2015

98 views

Category:

Documents


12 download

TRANSCRIPT

  • 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