Download TRABAJO GRUPO COLABORATIVO O PEQUEÑO GRUPO:
Document related concepts
no text concepts found
Transcript
ACTIVIDAD I ARQUITECTURA DE COMPUTADORES SANTOS MAURICIO LONDOÑO CODIGO: 1.121.829.886 Trabajo presentado al Ing. HAIMER GUTIERREZ UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD FACULTAD DE CIENCIAS BASICAS E INGENIERIAS INGENIERIAS DE SISTEMAS, QUINTO SEMESTRE ACACIAS 2007 ACTIVIDAD I ARQUITECTURA DE COMPUTADORES Trabajo presentado al Ing. HAIMER GUTIERREZ UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD FACULTAD DE CIENCIAS BASICAS E INGENIERIAS INGENIERIAS DE SISTEMAS, QUINTO SEMESTRE ACACIAS 2007 ACTIVIDAD I 1. Realice una breve reseña de la historia y avance de los computadores hasta nuestros días. La historia de la computadora es muy interesante ya que muestra como el hombre logra producir las primeras herramientas para registrar los acontecimientos diarios desde el inicio de la civilización, cuando grupos empezaron a formar naciones y el comercio era ya medio de vida. La evolución histórica del procesamiento de datos se divide en cuatro fases: Técnica de registros Dispositivos de cálculo Programas de tarjetas perforadas Computadores electrónicos Primeras Herramientas y/o Artefactos El Abaco La Pascalina Tabuladora Telar de Jacuard Primeros Ordenadores Analógicos Electrónicos Digitales Evolución Futura Generaciones ¿Cómo se miden los avances tecnológicos de las computadoras? Una computadora esta formada por dos componentes estructurales con el mismo nivel de importancia: el equipo físico (hardware) y los programas con los que funciona (software), lo cual significa que su grande avance debe considerarse en esas dos direcciones. Es decir, el desarrollo de las computadoras se da en estos dos aspectos: Por sus características constructivas (circuitos, arquitectura global del sistema, tecnología electrónica). Por los programas básicos con los que opera. Es decir, como se entabla comunicación con ella (lenguajes, sistema operativo, interfaces). Desde la invención de la primera de ellas, las computadoras han tenido un avance que se puede estudiar en términos de "generaciones". LA PRIMERA GENERACIÓN, 1941 A 1958 Características Principales: Tecnología: válvulas de vacío, eran máquinas voluminosas, de alto consumo, caras y de vida limitada. Avances del equipo físico: en la memoria se pasa de registros de válvulas a núcleos de ferrita; en la memoria secundaria, de tarjetas y cintas perforadas a tambores y cintas magnéticas. Además se introduce el control de interrupciones. Avances del equipo lógico: utilización de aritmética binaria, programación en ensamblador Principales Equipos que se destacan: - Mark I - Colossus - ABC. - ENIAC. - Manchester Mark I. - UNIVAC I - EDVAC, EDSAC, IAS, y las comerciales IBM 650, 701, 704, 709. LA SEGUNDA GENERACIÓN, 1959 A 1964 Características Principales Tecnología: en 1948 se inventó el transistor en los laboratorios de la Bell. Pero hasta 1954 no construyeron el TRADIC en la Bell, que fue el primer computador transistorizado. Las ventajas del transistor son que es más pequeño, el consumo es menor y más barato que las válvulas. Con lo cual los computadores se hacen más asequibles. Avances del equipo físico: se consolidan las memorias de ferrita. Aparecen los canales de E/S. Avances del equipo lógico: aparecen los lenguajes de alto nivel (FORTRAN,COBOL, ALGOL, PL1). Se impone el procesamiento tipo batch o por lotes: ejecución automática y secuencial de los programas de usuario, uno a uno. Principales Equipos que se destacan: - UNIVAC 1107, BURROUGH D-805, PDP-5 de DEC, y las científicas IBM 7070,7090, 7094. TERCERA GENERACIÓN, 1964-1970 Características Principales Tecnología: se integran los transistores y aparecen los Circuitos Integrados (C.I.): SSI, MSI. Máquinas: IBM 360. Aparecen las “Familias de Computadores”: computadores de distinta potencia y precio pero con la misma arquitectura y totalmente compatibles. Se produce una explosión de los minicomputadores: recursos más limitados pero muy asequibles (PDP-8,PDP-11). Avances del equipo físico: tarjetas de circuito impreso (PCB); memorias electrónicas sustituyen a las de ferrita; aparecen las memorias cache; la CPU está basada en registros de propósito general. Avances del equipo lógico: nuevos lenguajes de alto nivel (BASIC,PASCAL); gran avance en el S.O.; aparece la multiprogramación. Principales Equipos que se destacan: - IBM 360, PDP-8, PDP-11 CUARTA GENERACIÓN, 1971-A LA FECHA Características Principales La cuarta generación, que comprende desde 1971 hasta el presente, se distingue por el microprocesador y la computadora personal. Las computadoras de l a cuarta generación son aproximadamente 100 veces mas pequeñas que sus antecesoras y tan potentes como aquellas, y quizás mas. Tecnología: se incrementa la escala de integración (LSI, VLSI). Se puede integrar en un chip todo un procesador. Los computadores con icroprocesador se llamaron microcomputadores. Avances del equipo físico: más integración de las memorias; los discos duros tienen más capacidad; aparecen los coprocesadores para el tratamiento en punto flotante FPU y los gestores de memoria o MMU. Avances del equipo lógico: se normaliza el uso de la memoria virtual; los S.O. permiten la multitarea y el multiproceso; se producen avances en los leng uajes de alto nivel. Principales Equipos que se destacan: Se pueden distinguir 4 fases: 1ª fase (1971 - 74): microprocesador de 4 bits, como el Intel 4004 con 2,300 TRT's y LSI. 2ª fase (1974 - 76): microprocesador de 8 bits, como el 8080 de Intel con 5,000 TRT's, el 6800 de Motorola con 6,000 TRT's, o el Z80 de Zilog. 3ª fase (1976 - 80): microprocesador de 16 bits, como el 8086 de Intel con 29,0 00 TRT's, el Z8000 de Zilog o el 68000 de Motorola. 4ª fase (1980 - 87): microprocesador de 32 bits, como el 80286 con 134,000 TRT's, el 80386 con 275,000 TRT's de Intel, o el 68020 y el 68030 de Motorola. 2. Realice un cuadro comparativo de cada una de las 5 generaciones de la evolución de los computadores. GENERACION CERO (1942 1945) - Aparecieron los primeros ordenadores analógicos: comenzaron a construirse a principios del siglo XX los primeros modelos realizaban los cálculos mediante ejes y engranajes giratorios. Con estas máquinas se calculaban las aproximaciones numéricas de ecuaciones demasiado difíciles como para poder ser resueltas mediante otros métodos. La generación cero que abarcó la década de la segunda guerra mundial un equipo de científicos y matemáticos crearon lo que se considera el primer ordenador digital totalmente eléctrico: EL PRIMERA GENERACION (1951 - 1958) SEGUNDA GENERACION (1959-1954) TERCERA GENERACION (1964-1971) CUARTA GENERACION (1972-1984) En esta generación había un gran desconocimiento de las capacidades de las computadoras, puesto que se realizó un estudio en esta época que determinó que con veinte computadoras se saturaría el mercado de los Estados Unidos en el campo de procesamiento de datos. Estas tenían las siguientes características: La segunda generación se basa en el funcionamiento del transistor, lo que hizo posible una nueva generación de computadoras más pequeñas, más rápidas y con menores necesidades de ventilación, por todos estos motivos la densidad del circuito podía ser aumentada significativamente, lo que quería decir que los componentes podían colocarse mucho más cerca unos de otros y así ahorrar mas espacio. Con los progresos de la electrónica y los avances en comunicación con las computadoras en la década de 1960, surge la tercera generación de las computadoras. Se inaugura con la IBM 360 en abril de 1064. Las principales características son: El Microprocesador: el proceso de reducción del tamaño de los componentes llega a operar a escalas microscópicas. La microminiaturización permite construir el microprocesador, circuito integrado que rige las funciones fundamentales del ordenador. Circuito integrado. Miniaturización y reunión de centenares de elementos en una placa de silicio o "Chip". Las aplicaciones del microprocesador se han proyectado más allá de la computadora y se encuentra en multitud de aparatos, sean instrumentos médicos, automóviles, juguetes, electrodomésticos, etc. Emplearon bulbos (Válvulas al vacío) para procesar la información. Esta generación de máquinas eran muy grandes y costosas. Alto consumo de energía. El voltaje de Diversas compañías como IBM, UNIVAC, HONEYWELL, construyen ordenadores de este tipo. Las principales características son: Menor consumo energía. de Apreciable reducción de espacio. Aumento de la Memorias Electrónicas: desechan Se las COLOSSUS, este incorporaba 1500 válvulas o tubos de vacío y era ya operativo. Fue utilizado por el equipo dirigido por Alan Turíng para decodificar los mensajes de radio cifrado de los Alemanes. los bulbos era de 300 v y la posibilidad de fundirse era grande, además de que requerían de sistemas de aire acondicionado especial. Uso de tarjetas perforadas. Se utilizaba un modelo de codificación de la información originado en el siglo pasado, las tarjetas perforadas. Almacenamiento de información en tambor magnético interior. Un tambor magnético dispuesto en el interior de la computadora, recogía y memorizaba los datos y los programas que le suministraban mediante tarjetas. Lenguaje máquina. La programación se codificaba en un lenguaje muy rudimentario denominado "Lenguaje Máquina" el cual consistía en la yuxtaposición de largos bits o cadenas de ceros y unos, la combinación de los elementos del sistema binarios era la única manera de "instruir a la máquina", pues no entendía más lenguaje que el numérico. Tenían aplicaciones en el área científica y militar. Eckert y Mauchly contribuyeron al desarrollo de las computadoras de la primera generación, formando una compañía privada y construyendo la UNIVAC I, la cual se utilizó para evaluar el censo de 1950 en los El componente principal es un pequeño trozo de semiconductor: el transistor. Disminución tamaño. del Disminución del consumo y la producción de calor. Aumento de factibilidad. la Mayor rapidez. Memoria interna de núcleo de ferrita y tambor magnético. Instrumento de almacenamiento: accesorio para almacenar en el exterior información (Cintas y discos). Mejoran los dispositivos de entradas y salidas, para la mejor lectura de las tarjetas perforadas, se disponía de células fotoeléctricas. Introducción de elementos modulares. Las impresoras aumentan su capacidad de trabajo. Lenguajes de programación más potentes, ensambladores y de alto nivel (Fortran, Cobol y Algol). Se usaban para nuevas aplicaciones, como en los sistemas de reservación de líneas aéreas y simulaciones para uso general. Las empresas comenzaron a usarlas en tareas de fiabilidad. Teleprocesos. Se instalan terminales remotos que acceden a la computadora central para realizar operaciones, extraer o introducir información en bancos de datos, etc. Trabajo a tiempo compartido: uso de las computadoras por varios clientes a tiempo compartido, pues el aparato puede discernir entre diversos procesos que realiza simultáneamente. Multiprogramación. Renovación periféricos. de Generalización de los lenguajes de alto nivel Instrumentalización del sistema. memorias internas de los núcleos magnéticos de ferrita y se introducen memorias electrónicas, que resultan más rápidas. Al principio presentan el inconveniente de su mayor costo, pero este disminuye con la fabricación en serie. Sistema de tratamiento de base de datos: el aumento cuantitativo de las bases de datos lleva a crear formas de gestión que faciliten las tareas de consulta y edición. Lo sistemas de tratamiento de base de datos consisten en un conjunto de elementos de hardware y software interrelacionados que permite un uso sencillo y rápido de la información. Las principales características son: Aparición del microprocesador. Compatibilidad. Memoria electrónica. Ampliación de aplicaciones: en procesos industriales, en la educación, en el hogar, agricultura, etc. La miniaturización de los sistemas lógicos conduce a la fabricación de la mini computadora, que agiliza y descentraliza los procesos. Sistema de tratamiento de base de datos. Se fabrican computadoras personales y microcomputadoras. Se utiliza el disquete (Floppy Disk) como unidad de almacenamiento. Estados Unidos. En las dos primeras generaciones, las unidades de entrada utilizaban tarjetas perforadas, retomadas por Herman Hollerith, quien además fundó una compañía que con el paso del tiempo se conocería como IBM (Internacional Bussines Machines). almacenamiento de registros, nóminas y contabilidad. Después se desarrolló la IBM 701 de la cual se entraron 18 unidades entre 1953 y 1957. La computadora mas exitosa de esta generación fue la IBM 650 la cuál usaba un esquema de memoria secundaria llamado tambor magnético que es el antecesor de los discos actuales. 3. Explicar cual es la función de los sistemas numéricos SISTEMAS NUMÉRICOS Digito: Es un signo que representa una cantidad contable. Dependiendo del sistema de numeración, serán los diferentes signos que se tenga para representar cualquier cantidad. Numero: Es la representación de una cantidad contable por medio de uno o más dígitos. Sistema de Numeración: Es un conjunto de dígitos que sirven para representar una cantidad contable. El nombre del sistema de numeración que se trate serán los diferentes dígitos posibles para tal representación. Así también los sistemas de numeración se les llama base, de tal manera que el sistema de numeración binario, también se le llama base 2. Los sistemas de numeración más utilizados en electrónica son: Binario o Base 2 (0, 1) Octal o Base 8 (0, 1, 2, 3, 4, 5, 6, 7) Hexadecimal o Base 16 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) Decimal o Base 10 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) 4. Explicar los principales sistemas de codificación Evolución de los sistemas de codificación La difusión de la informática a culturas de raíz no latina puso rápidamente de manifiesto que 256 caracteres eran insuficientes para contener los grafos de todas las lenguas. Por ejemplo, el cirílico; el hebreo; el árabe; el griego, y el japonés por citar algunas. Se hizo evidente la necesidad un sistema con más de 256 posibilidades, lo que condujo a establecer sistemas de codificación en los que cada carácter ocupaba más de un octeto (al menos ciertos caracteres), razón por la cual a estos sistemas se les conoce genéricamente como de caracteres anchos. La solución adoptada comprende dos grandes grupos: el sistema multibyte y el sistema de caracteres anchos), de los que existen distintas variedades. Generalmente el primero se utiliza en representación externa (almacenamiento) y comunicaciones, mientras que el segundo es preferido para representaciones internas. Sistema multibyte Si se trata de representar juegos de más de 256 caracteres en almacenamientos externos o en sistemas de transmisión, en los que es importante la economía de espacio y/o ancho de banda, la solución ha consistido en utilizar sistemas de codificación multibyte. Conocidos abreviadamente como MBCS ("Multibyte Character Set"). Como su nombre indica utilizan más de un octeto, pero la anchura de los distintos caracteres es variable según la necesidad del momento. Los caracteres multibyte son una amalgama de caracteres de uno y dos bytes de ancho que puede considerarse un super conjunto del ASCII de 8 bits. Por supuesto una convención de este tipo exige una serie de reglas que permitan el análisis ("Parsing") de una cadena de bytes para identificar cada carácter. Existen distintas versiones de este tipo de codificación que se utilizan en distintas circunstancias: JIS ("Japanese Industrial Standar"). Es utilizado principalmente en comunicaciones, por ejemplo correo electrónico, porque utiliza solo 7 bits para cada carácter [2]. Usa secuencias de escape para conmutar entre los modos de uno y dos bytes por carácter y para conmutar entre los diversos juegos de caracteres. Shift-JIS. Introducido por Microsoft y utilizado en el sistema MS-DOS, es el sistema que soporta menos caracteres. Cada byte debe ser analizado para ver si es un carácter o es el primero de un dúo. EUC ("Extended Unix Code"). Este sistema es utilizado como método de codificación interna en la mayoría de plataformas Unix. Acepta caracteres de más de dos bytes, por lo que es mucho más extensible que el Shift-JIS, y no está limitado a la codificación del idioma japonés. Resulta muy adecuado para el manejo de múltiples juegos de caracteres. UTF-8 ("Unicode transformation format"). En este sistema, cada carácter se representa mediante una secuencia de 1 a 4 bytes, aunque en realidad, el número de bits destinados a representar el carácter se limita a un máximo de 21 (el resto son metadatos -información sobre información-). El objeto de estos metadatos es que la secuencia pueda ser interpretada a partir de cualquier posición. Es decir, que de la simple inspección de un trozo, sea posible conocer donde comienza cada carácter y cuantos bytes lo componen. El esquema adoptado es el siguiente: bytes bits de datos representacion interna 1 7 0xxxxxxx 2 11 110xxxxx 10xxxxxx 3 16 1110xxxx 10xxxxxx 10xxxxxx 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx Cada X representa un bit de datos (valor 0/1). En realidad puede decirse que UTF-8 es un sistema de codificación que transforma un caracter multibite (entre 8 y 32 bits) en una secuencia de caracteres simples (8 bits), de ahí su nombre. Es el esquema utilizado por Unicode para almacenar sus caracteres anchos (de 16 bits). A su vez, los caracteres US-ASCII conservan su mismo esquema cuando se codifican en UTF-8, por lo que una cadena de caracteres US-ASCII conserva su mismo significado en ambos sistemas (en realidad UTF-8 fue diseñado para ser compatible hacia atrás con el US-ASCII). El diseño adoptado hace que sea un sistema auto-sincronizado, lo que significa que de la simple inspección de la cadena puede deducirse cuando empieza y termina cada carácter. La regla es que si el primer bit es cero, se trata de caracteres de 1 byte de los que solo son significativos los 7 bits siguientes (puro US-ASCII). Si el primer bit es un uno sabemos que es un carácter multibyte. 2 bytes por carácter si la combinación inicial es 110; tres si 1110, y cuatro bytes por carácter para 11110. Debido a los esfuerzos de homogenización realizados entre el consorcio Unicode y los comités ISO/IEC ("International Organization for Standardization"/"International Electrotechnical Commission"), el sistema UTF-8 y el ISO/IEC 10646-1:1993 son coincidentes. UTF-16 y UTF-32 son sistemas de codificación Unicode similar al anterior, aunque en estos casos las secuencias son de 16 y 32 bits respectivamente. Codificación JIS Como sugiere su nombre, fue diseñado específicamente solventar los problemas de representación de la escritura japonesa. En este sistema, una frase puede contener caracteres de hasta cuatro sistemas de escritura distintos: el sistema Kanji, que tiene decenas de miles de caracteres representados por dibujos basados en ideogramas chinos. Los sistemas Hiragana y katakana son silábicos; cada uno contiene aproximadamente 80 sonidos que son también representados por ideogramas. Finalmente el sistema Roman, que contiene 95 letras, dígitos y signos de puntuación es lo más parecido a la escritura simbólica occidental (basada en letras). En la figura adjunta [3] se muestra una frase en japonés que utiliza los cuatro sistemas de escritura señalados Los distintos sistemas han señalado con distinto tono de fondo. Traducción: "Los métodos de codificación como JIS pueden representar mezclas de texto Japonés e Inglés". Existen diversos juegos de caracteres de este idioma (incluso se utilizan los caracteres ASCII). Aunque no existe un sistema de codificación del japonés que sea universalmente admitido, algunos son más generales: JIS C 6226-1978; JIS X 0208-1983; JIS X 0208-1990; JIS X 0212-1990; JIS-ROMAN (este último es el juego de caracteres ASCII). Los sistemas JIS utilizan caracteres de uno y dos bytes de ancho; el paso de un tipo a otro se señala mediante una secuencia de escape que pertenece al esquema de codificación y no forman parte del mensaje propiamente dicho. Ejemplo [3]: Estado inicial: ASCII de 1 byte Cambio a Kanji Juego de caracteres Kanji. JIS X 0208-1983 Cambio a ASCII Juego de caracteres ASCII de 1 byte Las secuencias de escape, también denominadas "de control", no tienen representación gráfica, y obligan al analizador sintáctico que examina el mensaje a mantener un control de estado, que es activado cada vez que encuentra una secuencia de control. En el ejemplo anterior el estado inicial es ASCII de 1 byte por carácter. Al encontrar la secuencia <ESC>$B es interpretada como cambio al sistema Kanji, de forma que a partir de ahí cada dos bytes se interpretan como un carácter del conjunto JIS X 0208. A llegar a la secuencia <ESC>(B se interpreta como cambio al sistema ASCII de un byte por carácter, y así sucesivamente [4]. Estos sistemas de codificación no son muy eficientes para almacenamiento interno o para proceso de la información, razón por la que suelen ser utilizados para almacenamiento externo y como medio de compartir información entre un programa y el mundo exterior. Puede ocurrir que si el mensaje incluye cambios muy frecuentes la información de codificación supere a la del propio mensaje (cuando está en formato 2 bytes por carácter la secuencia de control ocupa 6 bytes). Además tiene el inconveniente que no puede ser leído en cualquier orden, por ejemplo del final al principio o comenzando en cualquier punto. Codificación Shift-JIS A pesar de su nombre este sistema no tiene ninguna conexión con el anterior. Aquí la información de codificación acompaña a cada byte, de forma que él mismo indica si debe ser interpretado como un carácter aislado o el primero de un dúo, conocidos como byte de cabeza y de cola ("Lead" byte y "Trail" byte). La información está codificada en el propio valor porque el rango de valores posibles está distribuido en varios significados: Rango Hex. Dec. 21-7E 33-126 A1-DF 161-223 81-9F 129-159 E0-EF 224-239 40-7E 64-126 80-FC 128-252 Significado Carácter de 1 byte del conjunto JIS Roman Carácter Katakana Byte de cabeza ("Lead") de un carácter ancho del conjunto JIS X 0208-1990. Byte de cola ("Trail") del caso anterior. Este sistema de codificación es más compacto que el JIS, aunque no puede representar tantos caracteres como aquél. En concreto no puede representar el conjunto JIS X 0212-1990 que contiene más de 6.000 caracteres. Codificación EUC Como sugiere su nombre, el sistema EUC ("Extended Unix Code") es utilizado como método de codificación interna en plataformas Unix. Fue desarrollado como un sistema general capaz de manejar múltiples sistemas de codificación en cualquier flujo de datos, sin que esté por tanto ligado necesariamente a la representación de la escritura Japonesa. Es mucho más extensible que el Shift-JIS, porque permite caracteres de más de dos bytes de ancho. Aunque no está ligado necesariamente a la representación de la escritura Japonesa sirve naturalmente para este propósito. A continuación se muestra el esquema de codificación utilizado por EUC para para esta lengua: Rango Hex. Dec. 21- 337E 126 A1- 161FE 254 8E 142 8F Significado Carácter de 1 byte del conjunto JIS Roman La mitad de un carácter del conjunto JIS X0208-1990. El segundo byte del carácter debe estar en el mismo rango Cualquier byte de este valor debe estar seguido de un byte en el rango A1-DF, que representa un carácter del conjunto Katakana. 143 Cualquier byte de este valor debe ir seguido de dos bytes adicionales en el rango A1FE, que representan un carácter del conjunto JIS X 0212-1990, que como hemos indicado contiene más de 6.000 caracteres. Como puede verse en los dos últimos casos, los caracteres 0x8E y 0x8F funcionan en cierta manera como las secuencias de control del sistema JIS, en el sentido que introducen un cambio de codificación, aunque se diferencian de aquellas en que estas deben preceder a cada carácter ancho del mensaje (no solo al primero de una secuencia). Por esta razón se considera que cada carácter multibyte del sistema EUC es auto-contenido y no depende de ningún control de estado. Sistema de caracteres anchos Los sistemas de codificación multibyte son bastante eficientes en cuanto al espacio de almacenamiento utilizado, pero son poco prácticos para su empleo como medio de almacenamiento en programas y cuando se daba realizar sobre ellos cualquier computación. En estos casos es preferible utilizar un esquema en el que todos los caracteres tengan el mismo ancho, aun cuando esto suponga utilizar un cierto espacio adicional. Este sistema de codificación es conocido como de caracteres anchos, del que existen dos versiones básicas: sistemas que utilizan dos bytes, conocidos como DBCS ("Double Byte Character Set"), y sistemas que utilizan más de dos. ISO 10646.UCS-2 Caracteres de 16 bits (2 Bytes) ISO 10646.UCS-4 Caracteres de 32 bits (4 Bytes) ISO-10646-UCS-1 Caracteres de 16 bits (2 Bytes). Más conocido como Unicode El sistema de caracteres anchos DBSC ha sido la solución adoptada por los compiladores C y C++ para representar aquellos conjuntos de caracteres a los que no bastan las posibilidades del sistema ASCII extendido, aunque cabe destacar que las estrategias utilizadas en uno y otro lenguaje difieren ligeramente. La representación en la fuente es la siguiente: char ch = 'a'; char* str = "abc"; wchar_t wch = L'a'; wchar_t* wstr = L"abc"; // // // // constante cadena de constante cadena de carácter normal caracteres normales carácter-ancho caracteres anchos Conversión entre sistemas multibyte y de caracteres anchos Debido a que los caracteres anchos se emplean generalmente para representación interna, y los multibyte para la representación externa, las operaciones de entrada/salida suelen implicar un proceso de conversión entre ambos sistemas de codificación. Un caso frecuente lo constituyen los procesos de lectura y escritura de ficheros. Estos últimos contienen generalmente caracteres multibyte, y cuando se lee un fichero, sus caracteres deben ser convertidos en caracteres anchos y situados en un almacenamiento interno donde puedan ser procesados. Evidentemente el sistema de caracteres anchos debe tener anchura suficiente para contener el carácter más ancho del sistema multibyte. En cambio, todas las secuencias de escape pueden ser eliminadas. La figura adjunta [3] muestra esquemáticamente el proceso de convertir un fichero de codificación JIS al sistema Unicode de caracteres anchos. Nota: La Librería Estándar C++ dispone de algunas herramientas para realizar este tipo de conversiones 5. Expresar los siguientes números decimales en sus correspondientes potencias a. 285,426 x 10-3= 0.006 x 10-2= 0.02 x 10-1= 0.4 x 10-0= 5 x 101= 80 x 102= 200 285,426 b. 20,467 x x x x x 10-3= 0.007 10-2= 0.06 10-1= 0.4 10-0= 0 101= 20 20,467 c. 42975 x x x x x 100= 5 101= 70 102= 900 103= 2000 104= 40000 42975 d. 496321 x x x x x x 100= 1 1 10 = 20 102= 300 103= 6000 104= 90000 105= 400000 496321 6. Encontrar el valor decimal de los siguientes números representados en el sistema numérico binario: a. 0110010110(2) = 0+2+4+0+16+0+0+128+256+0= 406(10) b. 1011110101(2) = 1+0+4+0+16+32+64+128+0+512= 757(10) c. 1110001101(2) = 1+0+4+8+0+0+0+128+256+512= 909(10) d. 10001101110(2) = 0+2+4+8+0+32+64+0+0+0+1024=1136(10) 7. Encontrar el valor decimal de cada una de las siguientes cantidades expresadas en el sistema numérico octal. a. 257461(8)= 1+48+256+3584+20480+65536=89905(10) b. 5421372(8)=2+56+192+512+8192+131072+1310720=1450746 (10) c. 4766123(8)=3+16+64+3072+24576+229376+1048576=1305683 (10) d. 6712346(8)=6+32+192+1024+4096+229376+1572864=1807590(10) 8. Encontrar el valor decimal de cada una de las siguientes cantidades expresadas en el sistema numérico hexadecimal: a. 5942AB7D (16)= 13+112+2816+40960+131072+4194302+150994944 +1342177280=1497541501(10) b. 9622CF7A (16)= 10+112+3840+49152+131072+2097152+100663296 +2415919104= 2518863738(10) c. 85DA2F78 (16)= 8+112+3840+8192+655360+13631488+83886080 +2147483648= 2245668728(10) d. ADE54713 (16)= 3+16+1792+16384+327680+14680064+218103808 +2684354560=2917484307(10) 9. Convertir los siguientes números expresados en sistema decimal a sistema binario, octal y hexadecimal. a. 2458795(10)= 1001011000010010101011(2) =11302253(8) = 3D3AB (16) b. 41358,78(10)= 1010000110001110,110001(2) =120616,61741(8) =E81A, C7AE (16) c. 4573612(10)= 10001011100100110101100(2) =1577244(8) =45C9AC (16) d. 4675243,845(10)=1000111011001101,1101(2) =21653253,6605(8) =8B56AB, D851 (16) 10. Convertir los siguientes números expresados en sistema binario a sistema decimal, octal y hexadecimal: a. a. 1101100101(2)= )= 869(10) = 1545(8) = 365(16) b. b. 1000111011(2) 571(10) =1076(8) =23B (16) c. c. 10101001101(2) 1357(10) =2515(8) =54D (16) d. d. 10111011100(2) 1500 (10) = 2734(8) =5DC (16) 11. Convertir los siguientes números expresados en sistema octal a sistema decimal, binario, y hexadecimal: a. 47561(8) b. 264712(8) c. 546726(8) d. 6213471(8) 12. Convertir los siguientes números expresados en sistema hexadecimal a sistema decimal, binario, y octal. a. 49C52D(16) b. 21A23C(16) c. EF689(16) d. 23E49F(16)