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)