Está en la página 1de 21

Conceptos básicos

La Informática nace de la idea de ayudar al hombre en aquellos trabajos rutinarios y repetitivos,


generalmente de cálculo y de gestión, donde es frecuente la repetición de tareas. La idea es que una
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

máquina puede realizarlos mejor, aunque siempre bajo la supervisión del hombre.

La definición más extendida de Informática es: «Informática es la ciencia que estudia el tratamiento
automático y racional de la información».

Se dice que el tratamiento es automático por ser las máquinas las que realizan los trabajos de captura,
proceso y presentación de la información, y se habla de racional por estar todo el proceso definido a
través de programas que siguen el razonamiento humano.

Desde el punto de vista informático, el elemento físico utilizado para el tratamiento de la información
es el computador, computadora u ordenador que puede ser definido como: «Máquina compuesta de
elementos, en su mayoría de origen electrónico, capaz de realizar una gran variedad de trabajos a gran
velocidad y con una gran precisión, siempre que se le den las instrucciones adecuadas».

El conjunto de órdenes que se dan a una computadora para realizar un proceso determinado se
denomina programa, mientras que el conjunto de uno o varios programas, más la documentación
correspondiente para realizar un determinado trabajo, se denomina aplicación informática.

La información es el elemento que hay que tratar y procesar cuando en un ordenador ejecutamos un
programa, y se define como todo aquello que permite adquirir cualquier tipo de conocimiento.

En el lenguaje corriente se usa la palabra información como sinónimo de noticia, conocimiento, etc.
Aunque este significado no sea idéntico a la definición de información en el contexto informático, es
bueno considerarlo para comprender la evolución progresiva por la que se ha llegado a un significado
sensiblemente diferente. El concepto científico de información tiene gran importancia en el proceso
de comunicación.

La información no surge por generación espontánea, o de forma mágica, sino que hay que obtenerla
por los medios y procedimientos que sean necesarios. La información se elabora a partir de su materia
prima: los datos.

Aunque muy frecuentemente los términos datos e información son utilizados como sinónimos, en
Informática se les dan significados claramente separados que conviene no confundir. Previamente, es
necesario aclarar los conceptos de dato y carácter, a partir de los cuales se va a obtener la definición
de información, desde el punto de vista que interesa en Informática.

Los caracteres son los signos numéricos, alfabéticos o especiales que se emplean en la escritura y en el
cálculo. Los caracteres numéricos se corresponden con las cifras del sistema decimal (0...9); los
alfabéticos, con las letras del alfabeto (a...z); y los especiales comprenden el resto de los signos
empleados en la escritura y en el cálculo, incluyendo el espacio en blanco.

La palabra dato proviene del latín datum que significa «lo que se dá» en el sentido de «lo que
acontece». El diccionario de la Real Academia de la Lengua Española dice que datos son:
«antecedentes necesarios para llegar al conocimiento exacto de una cosa o para deducir las
consecuencias legítimas de un hecho».
La mayor parte de los datos suelen ser magnitudes numéricas, nombres, frases enteras, premisas,
principios filosóficos, etc., y son representados, normalmente, como una secuencia de caracteres.
Según sean los caracteres que formen el dato, éste podrá ser numérico, alfabético o alfanumérico.

Los datos por sí mismos no aportan los conocimientos necesarios para una toma de una decisión
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

conveniente. Sólo una elaboración adecuada de los datos, proporcionará el conocimiento deseado. Se
define, pues, información como el resultado del tratamiento de una serie de datos. Es lo que se conoce
como proceso de datos, que consiste básicamente en planificar una serie de acciones y operaciones
sobre unos datos concretos, con el fin de llegar a una información deseada.

Para que un dato aporte información, bien considerado aisladamente o en combinación con otros, es
necesario que esté definido conceptualmente por medio de un nombre, y cuantitativamente por un
valor, además de estar inmerso dentro de un contexto en el cual tenga relevancia.

Este conjunto de datos al que se hace referencia en la definición de información, tienen que ser en
número necesario y estar estructurados en un orden determinado, para que aporten algún
conocimiento de las cosas en general. Las mismas palabras empleadas en distinto orden aportarían
una información diferente, o incluso ninguna:

“Madrid es la capital de España"


"capital es la Madrid España de"

Otra consideración a tener en cuenta es la de si el conocimiento que se consigue es cierto, o no, como
el ejemplo: «España es la capital de Madrid», y por lo tanto de si la información es o no utilizable.

La Información tiene que ser:

Exacta
Estructurada
A tiempo

Al conjunto de medios, recursos, dispositivos, procedimientos y operaciones involucradas en la


obtención de un conocimiento se le denomina Sistema de Información.

La parte de la Informática que se ocupa del diseño de Sistemas de Información se llama Análisis de
Sistemas, y a grandes rasgos, se descompone en tres etapas:
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

La información puede ser tratada mediante un conjunto de operaciones elementales, teniendo lo que
se llama Tratamiento de la Información. Tanto si se realiza manualmente como si se hace con la ayuda
de máquinas, el proceso está basado en la utilización de todas o de algunas de las operaciones
elementales que se definen a continuación:

 Lectura: Facultad de captar los datos de entrada a ser procesados. Es obvio que no se puede
resolver el ejercicio más simple de aritmética, por ejemplo sumar dos números, si no se sabe
leerlos. La misma cuestión se presenta si se quiere resolver el ejercicio con una máquina.

 Registro: Facultad de almacenar la información leída durante el tiempo necesario, y hacer uso de
ella en el momento que se precise. En el ser humano esta operación se realiza gracias a la
memoria, es evidente que sería imposible tratar información, si por lo menos no pudiesen retener
el dato o datos con los que operar, el tipo de operación a realizar y la información resultante del
tratamiento.

 Clasificación: Facultad de ordenar la información almacenada de forma que se pueda acceder a la


misma en el momento que sea necesario. Sea, por ejemplo, un diccionario en que las palabras no
estuviesen ordenadas alfabéticamente, sería prácticamente imposible poder utilizarlo, por el
excesivo tiempo de búsqueda.

 Cálculo Aritmético y Lógico: Facultad de poder realizar al menos las operaciones elementales
aritméticas y lógicas, y los algoritmos que a partir de ellas permitan realizar cálculos aritméticos
más complejos.

 Escritura: Facultad de reflejar la información leída directamente, u obtenida a través de un


proceso determinado, de forma ordenada y clara sobre un soporte también determinado. Esta
operación se diferencia conceptualmente de la reproducción en cuanto que la información se
ordena por la máquina de forma que sea inteligible.

 Reproducción: Facultad de poder transcribir automáticamente información original a un soporte


determinado tantas veces como se desee. Este es el único punto de vista desde el que interesa
esta operación, ya que manualmente realizarla constituye una combinación de las operaciones de
lectura y escritura. Las máquinas de reproducir, basadas en los diferentes sistemas de
reproducción, XEROX, OFFSET, etc., realizan esta operación sin posibilidad de cambiar el orden en
que está dispuesta la información original; realizan trascripción. Este es el sentido en que debemos
interpretar esta operación.

En términos generales, se denomina entrada al conjunto de operaciones cuya misión es tomar los
datos del exterior y enviarlos al ordenador. Estos datos deben quedar almacenados en el ordenador
para su posterior tratamiento. Al conjunto de operaciones que elaboran los datos de entrada para
obtener resultados se le llama proceso o algoritmo, y consiste generalmente en una combinación
adecuada de operaciones de origen aritmético y test de tipo lógico. Por último se denomina salida al
conjunto de operaciones que proporcionan los resultados de un proceso a las personas
correspondientes.
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

Existen en informática dos conceptos básicos interrelacionados: hardware y software. Se define


hardware como el conjunto de dispositivos físicos, conectados entre sí, que integran el ordenador.
Además de estos dispositivos físicos, el ordenador necesita, para poder funcionar, un conjunto de
instrucciones que lo dirijan y le indiquen qué debe hacer y cómo debe hacerlo. A este conjunto de
instrucciones se le denomina software. Software es, por tanto, el soporte lógico que permite utilizar el
hardware.
La información y su representación
El hombre en su vida diaria se expresa, se comunica, almacena información y la maneja desde el punto
de vista numérico con el sistema decimal y simbología arábiga (dígitos 0, 1, 2, 3...9) y desde el punto
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

de vista alfabético con un determinado idioma y simbología específica del idioma o alfabeto. Asimismo
el ordenador, debido a su construcción basada fundamentalmente en circuitos electrónicos digitales lo
hace con el sistema binario tanto para uno como para el otro punto de vista. Este es el motivo por el
que se ha de trasformar internamente la información que le suministramos a una representación
binaria para que pueda ser entendida por la máquina. Por lo tanto para que la máquina nos entienda
se ha de codificar la información.

Cada una de las distintas formas de representar la información recibe el nombre de código. Cada
código utiliza un número finito de símbolos para representar la información, así por ejemplo el código
Morse utiliza tres símbolos: el punto, la raya y el silencio para separar los caracteres.

Por otra parte para representar información de tipo numérica se utilizan los llamados sistemas de
numeración. Un sistema de numeración es un conjunto de reglas que permiten con una cantidad finita
de símbolos representar cualquier número o dicho de otra forma es un código para representar
información numérica.

Un sistema de numeración se caracteriza por su base que es el número de símbolos que utiliza. Los
sistemas de numeración actuales son posicionales en los que el valor relativo que representa cada
símbolo o cifra depende de su valor absoluto y de la posición que ocupe dentro del número completo.

El sistema de numeración que se usa habitualmente es el sistema decimal que utiliza diez símbolos o
dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9 además utiliza el símbolo coma (,) para poder representar valores
numéricos no enteros y el símbolo guión (-) para representar valores negativos. Por ejemplo, en el
sistema decimal el número cuatro mil quinientos sesenta y siete se representa como 4567.

El sistema de numeración que utilizan los ordenadores es el sistema binario que solo utiliza dos
símbolos: el 0 y el 1 para representar cualquier número. Así por ejemplo el número cuatro mil
quinientos sesenta y siete se representa como 10001110101112). Se indica en letra pequeña seguido
de un paréntesis la base en decimal en la que está codificado el número ya que se podría confundir
con el número un billón ciento once millones diez mil ciento once decimal en el ejemplo. Si un número
no lleva el número indicador de la base se supone que está codificado en decimal.

De forma general cualquier número en cualquier base se puede cambiar a decimal usando la siguiente
fórmula:

n   d b i
i

en donde:

n número codificado en base diez


di es el dígito que ocupa la posición i dentro del número completo empezando en 0 el dígito más a la
derecha y aumentando hacia la izquierda
b es la base en la que está codificado el número
i es la posición dentro del número completo empezando en 0 el dígito más a la derecha y aumentando
hacia la izquierda.

Por ejemplo el número 10001110101112) en decimal sería:


I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

n = 1·212 + 0·211 + 0·210 + 0·29 + 1·28 + 1·27 + 1·26 +0·25 +1·24 +0·23 +1·22 +1·21 +1·20 = 4567

Para cambiar un número decimal a cualquier otra base se sigue el siguiente proceso:

1. Se divide el número por la base. Deberá quedar un resto y un cociente


2. Se repite el punto anterior sobre el cociente hasta que este sea menor que la base a la que
se desea cambiar.
3. El número resultante en la base deseada estará formado por todos los restos obtenidos en
las divisiones sucesivas tomados desde el último resto obtenido hasta el primero poniendo
en primer lugar el cociente último

Por ejemplo el número 4567 cambiado a base 5 será:

4567 5
06 913 5
17 41 182 5
2 13 32 36 5
3 2 1 7 5
2 1

1212325)

Se ha visto la conversión de números enteros. Vamos a ver como se cambia de base un número con
parte fraccionaria.

Para cambiar un número en cualquier base a base decimal se utiliza la misma fórmula utilizada en la
conversión de números enteros:

n   d b i
i

Siendo:

di es el dígito que ocupa la posición i dentro del número completo empezando en 0 el dígito a la
izquierda del separador fraccionario, aumentando hacia la izquierda y en -1 el dígito a la derecha del
separador fraccionario y aumentando hacia la derecha
i es la posición dentro del número completo empezando en 0 el dígito a la izquierda del separador
fraccionario, aumentando hacia la izquierda y en -1 el dígito a la derecha del separador fraccionario y
aumentando hacia la derecha.

Por ejemplo el número binario 1110110,1012) en decimal quedará:


n = 1·26+1·25+1·24+0·23+1·22+1·21+0·20+1·2-1+0·2-2+1·2-3 = 118,625

Para convertir un número de base decimal a otra base se procede de una forma parecida a como se
hacía cuando eran enteros:
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

1. La parte entera se convierte por el método ya visto del cociente y el resto


2. La parte fraccionaria se va multiplicando por la base, tomando la parte entera de este
resultado como dígito convertido, y repitiendo el proceso de multiplicar por la base la
parte fraccionaria resultante hasta que ya no quede parte fraccionaria o se detecte una
periodicidad en los dígitos

Por ejemplo el número decimal 118,625 en base 2 quedaría:

1. La parte entera:

11101102)

2. La parte fraccionaria:

0,625 x 2 = 1,250
0,250 x 2 = 0,500
0,500 X 2 = 1

El número quedará 1110110,1012)

En el sistema de numeración binario cada dígito del número se denomina bit (binary digit). Para la
medida de cantidades de información representadas en binario se utilizan una serie de múltiplos del
bit que poseen nombre propio:

Nibble es el conjunto de cuatro bits


Byte es el conjunto de 8 bits
Kilobyte (Kb) es el conjunto de 1024 bytes
Megabyte (Mb) son 1024 Kb
Gigabyte (Gb) son 1024 Mb
Terabyte (Tb) son 1024 Gb
Petabyte (Pb) son 1024 Tb
Exabyte (Eb) son 1024 Pb
Zetta (Zb) son 1024 Eb
La razón por la que se utiliza el factor de multiplicación 1024 en lugar de 1000, como sucede con otras
magnitudes físicas, es por ser la potencia de 2 más próxima a 1000: 210=1024. El byte es considerado
como la unidad básica de medida de la información en sistemas informáticos.

Los datos e información que se manejan internamente en un sistema informático no son solamente
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

numéricos y por lo tanto se debe proceder a su codificación para su tratamiento. Según que la
información sea numérica o alfanumérica nos vamos a encontrar con códigos diferentes:

Códigos alfanuméricos.
Se denomina carácter a cada una de las letras ya sean mayúsculas o minúsculas, a cada una de las
cifras decimales, 0 a 9, y a cada uno de los caracteres especiales que utilizamos en el lenguaje humano
como pueden ser el punto, la coma etc. También se denomina carácter a ciertos elementos que solo
tienen significado para el ordenador y se denominan caracteres de control como por ejemplo el
carácter nulo, el carácter fin de línea, el carácter escape etc. La forma en que se codifican todos estos
caracteres en forma binaria da lugar a lo que se llama código de caracteres.

ASCII

El código de caracteres más extendido es el denominado código ASCII Extendido (American Estándar
Code for Information Interchange) en el que a cada carácter se le asigna un número comprendido
entre 0 y 255 (256 caracteres distintos) que codificado en binario precisa de 8 bits = 1 byte para su
almacenamiento. En principio el código ASCII utilizó solo 7 bits (128 caracteres distintos y llamado
simplemente ASCII) para la codificación de caracteres utilizando el 8º para control de errores.
Posteriormente debido a la necesidad de aumentar el número de caracteres codificables, sobre todo
para poder adaptarlo a las configuraciones de cada idioma distinto del inglés se utilizan ya los ocho bits
para codificar caracteres. Los 32 primeros caracteres se dedican a los caracteres de control ya
mencionados, hasta el ASCII 127 aparecen los caracteres del alfabeto inglés, y de ahí en adelante
aparecen caracteres para soporte de idiomas distintos del inglés y caracteres de dibujo en modo texto
etc.

0 1 2 3 4 5 6 7 8 9 A B C D E F
0 ☺ ☻ ♥ ♦ ♣ ♠ ● ◘ ○ ◙ ♂ ♀ ♪ ♫ ☼
1 ► ◄ ↕ ‼ ¶ § ▬ ↨ ↑ ↓ → ← ⌐ ↔ ▲ ▼
2 ! “ # $ & % ‘ ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~ ⌂
8 Ç ü é â ä à å ç ê ë è ï î ì Ä Å
9 É æ Æ ô ö ò û ù ÿ Ö Ü ¢ ₤ ¥ ₧ ƒ
A á í ó ú ñ Ñ ª º ¿ ⌐ ¬ ½ ¼ ¡ « »
B ░ ▒ ▓ │ ┤ ╡ ╢ ╖ ╕ ╣ ║ ╗ ╝ ╜ ╛ ┐
C └ ┴ ┬ ├ ─ ┼ ╞ ╟ ╚ ╔ ╩ ╦ ╠ ═ ╬ ╧
D ╨ ╤ ╥ ╙ ╘ ╒ ╓ ╫ ╪ ┘ ┌ █ ▄ ▌ ▐ ▀
E α β Γ π Σ σ μ τ Φ Θ Ω δ ∞ φ ε ∩
F ≡ ± ≥ ≤ ⌠ ⌡ ÷ ≈ ◦ ¨ · √ ⁿ ² ■
Unicode

Actualmente está extendido el uso del código UNICODE que permite asignar a cada carácter en
cualquier idioma un código único universal evitando los problemas que aparecían con el código ASCII
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

en que según el idioma en el que estuviéramos trabajando un mismo código podía representar
caracteres distintos. Unicode incluye todos los caracteres de uso común en la actualidad. La versión 6
contenía 109 449 caracteres provenientes de alfabetos, sistemas ideográficos y colecciones de
símbolos (matemáticos, técnicos, musicales, iconos...).

El elemento básico del estándar Unicode es el carácter. Se considera un carácter al elemento más
pequeño de un sistema de escritura con significado. El estándar Unicode codifica los caracteres
esenciales, grafemas, definiéndolos de forma abstracta y deja la representación visual (tamaño,
dimensión, fuente o estilo) al software que lo trate, como procesadores de texto o navegadores web.
Se incluyen letras, signos diacríticos, caracteres de puntuación, ideogramas, caracteres silábicos,
caracteres de control y otros símbolos. Los caracteres se agrupan en alfabetos o sistemas de escritura.
Se considera que son diferentes los caracteres de alfabetos distintos, aunque compartan forma y
significación.

Los caracteres se identifican mediante un número o punto de código y su nombre o descripción.


Cuando se ha asignado un código a un carácter, se dice que dicho carácter está codificado. El espacio
para códigos tiene 1 114 112 posiciones posibles (0x10FFFF). Los puntos de código se representan
utilizando notación hexadecimal agregando el prefijo U+. El valor hexadecimal se completa con ceros
hasta 4 dígitos hexadecimales cuando es necesario; si es de longitud mayor que 4 dígitos no se agregan
ceros.

Tipos de caracteres

Los bloques del espacio de códigos


contienen puntos con la siguiente
información:

 Caracteres gráficos: letras, signos diacríticos, cifras, caracteres de puntuación, símbolos y


espacios.
 Caracteres de formato: caracteres invisibles que afectan al proceso del texto próximo.
Ejemplos: U+2028 salto de línea, U+2029 salto de párrafo, U+00A0 espacio duro, etc.
 Códigos de control: 65 códigos definidos por compatibilidad con ISO/IEC 2022. Son los
caracteres entre en los rangos [U+0000,U+001F], U+007F y [U+0080..U+009F]. Interpretarlos
es responsabilidad de protocolos superiores.
 Caracteres privados: reservados para el uso fuera del estándar por fabricantes de software.
 Caracteres reservados: códigos reservados para su uso por Unicode. Son posiciones no
asignadas.
 Puntos de código subrogados: Unicode reserva los puntos de código de U+D800 a U+DFFF para
su uso como códigos subrogados en UTF-16, en la representación de caracteres
suplementarios.
 No caracteres: son códigos reservados permanentemente para uso interno por Unicode. Los
dos últimos puntos de cada plano U+FFFE y U+FFFF.
 Caracteres descartados: son caracteres que se retienen por compatibilidad con versiones
anteriores, pero se debe evitar su uso.

Composición de caracteres y secuencias


I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

Composición del carácter "ñ". La primera es un carácter


independiente, la segunda una n más una tilde (virgulilla)
combinable.

Unicode incluye un mecanismo para formar caracteres y así extender el repertorio de compatibilidad
con los símbolos existentes. Un carácter base se complementa con marcas: signos diacríticos, de
puntuación o marcos. El tipo de cada carácter y sus atributos definen el papel que pueden jugar en una
combinación. Por este motivo, puede haber varias opciones que representen el mismo carácter. Para
facilitar la compatibilidad con codificaciones anteriores, se proporcionan caracteres precompuestos;
en la definición de dichos caracteres se hace constar qué caracteres intervienen en la composición.
Un grupo de caracteres consecutivos, independientemente de su tipo, forma una secuencia. En caso
de que varias secuencias representen el mismo conjunto de caracteres esenciales, el estándar no
define una de ellas como 'correcta', sino que las considera equivalentes. Para poder identificar dichas
equivalencias, Unicode define los mecanismos de equivalencia canónica y de equivalencia de
compatibilidad basados en la obtención de formas normalizadas de las cadenas a comparar.

Formalmente la base de datos se divide en planos y estos a su vez en áreas y bloques. Con
excepciones, los caracteres codificados se agrupan en el espacio de códigos siguiendo categorías como
alfabeto o sistema de escritura, de forma que caracteres relacionados se encuentren cerca en tablas
de codificación.

Planos

Por conveniencia se ha dividido el espacio de códigos en grandes grupos denominados planos. Cada
plano contiene un máximo de 65 535 caracteres. Dado un punto de código expresado en hexadecimal,
los 4 últimos dígitos determinan la posición del carácter en el plano.

 Plano básico multilingüe: BMP o plano 0. Contiene la mayor parte de los alfabetos modernos,
incluyendo los caracteres más comunes del sistema CJK, otros caracteres históricos o poco
habituales y 64 reservadas para uso privado.
 Plano suplementario multilingüe: SMP o plano 1. Alfabetos históricos de menor uso y
sistemas de uso técnico u otros usos.
 Plano suplementario ideográfico: SIP o plano 2. Contiene los caracteres del sistema CJK que
no se incluyen en el plano 0. La mayoría son caracteres muy raros o de interés histórico.
 Plano de propósito especial: SSP o plano 14. Área para caracteres de control que no se han
introducido en el plano 0.
 Planos de uso privado: planos 15 y 16. Reservados para uso privado por fabricantes de
software.

Áreas y bloques

Los distintos planos se dividen en áreas de direccionamiento en función de los tipos generales que
incluyen. Esta división es convencional, no reglada y puede variar con el tiempo. Las áreas se dividen, a
su vez, en bloques. Los bloques están definidos normativamente y son rangos consecutivos del espacio
de códigos. Los bloques se utilizan para formar las tablas impresas de caracteres pero no deben
tomarse como definiciones de grupos significativos de caracteres.
Unicode define tres formas de codificación bajo el nombre UTF (Unicode transformation format:
formato de transformación Unicode):

 UTF-8: codificación orientada a byte con símbolos de longitud variable.


I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

 UTF-16: codificación de 16 bits de longitud variable optimizada para la representación del


plano básico multilingüe (BMP).
 UTF-32: codificación de 32 bits de longitud fija, y la más sencilla de las tres.

UTF-8

Es una norma de transmisión utilizada junto con la norma de codificación Unicode y sus características
principales son:

 Es capaz de representar cualquier carácter Unicode.


 Usa símbolos de longitud variable (de 1 a 4 bytes por carácter Unicode).
 Incluye la especificación US-ASCII de 7 bits, por lo que cualquier mensaje ASCII se representa
sin cambios.
 Incluye sincronía. Es posible determinar el inicio de cada símbolo sin reiniciar la lectura desde
el principio de la comunicación.
 No superposición. Los conjuntos de valores que puede tomar cada byte de un carácter
multibyte, son disjuntos, por lo que no es posible confundirlos entre sí.

Utilizadas en conjunto, funcionan de la siguiente manera:

Unicode asigna los enteros del 0 al 127 (un total de 128) a exactamente los mismos caracteres que
ASCII. UTF-8 empaqueta cualquier entero del 0 al 127 en un octeto "a la antigua" pero con el octavo
dígito siempre en cero, ya que actualmente el bit de paridad no se utiliza más para detección de
errores.

Además, como la tabla de Unicode es tan grande, la mayoría de sus símbolos están asignados a
enteros mayores que 127 (códigos que, en consecuencia, necesitan más que 7 dígitos para su
representación binaria). En todos esos casos, UTF-8 envía el comienzo de la representación binaria del
código en cuestión en un primer octeto con dígito de paridad = 1. El receptor de este mensaje,
interpreta este dígito en 1 como señal de que lo que está siendo transmitido es un código que no cabe
en 7 dígitos binarios; y por tanto determina que el símbolo no lo va a conocer mientras no lea el
siguiente octeto y tal vez el siguiente

UTF-8 divide los caracteres Unicode en varios grupos, en función del número de bytes necesarios para
codificarlos. El número de bytes depende exclusivamente del código de carácter asignado por Unicode
y del número de bytes necesario para representarlo. La distribución de caracteres es la siguiente:

 Caracteres codificados con un byte: Los incluidos en US-ASCII, un total de 128 caracteres.
 Caracteres codificados con dos bytes: Un total de 1920 caracteres. Este grupo incluye los
caracteres romances más signos diacríticos, y los alfabetos griego, cirílico, copto, armenio,
hebreo, árabe, siríaco y Thaana entre otros.
 Caracteres codificados con tres bytes: Caracteres del plano básico multilingüe de Unicode, que
unido al grupo anterior, incluye la práctica totalidad de caracteres de uso común, entre ellos
los caracteres del grupo CJK: Chino, japonés y coreano.
 Caracteres codificados con cuatro bytes: Caracteres del plano suplementario multilingüe.
Símbolos matemáticos y alfabetos clásicos para uso principalmente académico: Lineal B
silábico e ideográfico, alfabeto persa, fenicio... Y el plano suplementario ideográfico:
caracteres Han de uso poco común.
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

Una propiedad importante de la codificación es que los bits más significativos del primer byte de una
secuencia multi-byte determinan la longitud de la secuencia. Estos bits más significativos 110 para
secuencias de dos bytes; 1110 para secuencias de tres bytes, etc. Estos bits además proporcionan la
información de sincronía que permite identificar el inicio de un símbolo.

La tabla siguiente muestra la forma en que se codifican los caracteres. Los valores fijos al principio de
cada byte garantizan el cumplimento del principio de no superposición, pues son distintos en función
de la posición del byte en la cadena

Rango de puntos Valor UTF-8 Notas


UNICODE escalar
000000-00007F 00000000 0xxxxxxx Rango equivalente a US-ASCII. Símbolos de un
0xxxxxxx único byte donde el bit más significativo es 0
000080-0007FF 00000yyy 110yyyyy Símbolos de dos bytes. El primer byte comienza
yyxxxxxx 10xxxxxx con 110, el segundo byte comienza con 10
000800-00FFFF zzzzyyyy 1110zzzz Símbolos de tres bytes. El primer byte comienza
yyxxxxxx 10yyyyyy con 1110, los bytes siguientes comienzan con 10
10xxxxxx
010000-10FFFF 000uuuuu 11110uuu 10 Símbolos de cuatro bytes. El primer byte
zzzzyyyy uuzzzz 10yyy comienza con 11110, los bytes siguientes
yyxxxxxx yyy 10xxxxxx comienzan con 10

La tabla que el Consorcio Unicode publica para ser leída por humanos, contiene una representación
gráfica o descripción, de cada carácter incluido hasta ese momento; pero, los sistemas de visualización
de documentos, para poder funcionar, requieren tablas de tipografía (fonts), que asocian un grafema
(dibujo) a cada carácter que abarcan, y sucede que hay muchísimas tablas de tipografía, con nombres
como Arial o Times, que dibujan una misma letra a base de matrices diferentes y en diferentes estilos
("A" o "A"); sin embargo, la gran mayoría de las fuentes tipográficas contienen sólo un pequeño
subconjunto de todos los caracteres Unicode. Por este motivo, para leer páginas con caracteres
asiáticos, por ejemplo, no basta que el visualizador usado "acepte" la codificación Unicode, sino que,
además, el computador debe tener instalada una tabla tipográfica suficientemente extensa.

ISO 8859-1

Es una norma de la ISO que define la codificación del alfabeto latino, incluyendo los diacríticos (como
letras acentuadas, ñ, ç), y letras especiales (como ß, Ø), necesarios para la escritura de las siguientes
lenguas originarias de Europa occidental: afrikaans, alemán, aragonés, asturiano, catalán, danés,
escocés, español, feroés, finés, francés, gaélico, gallego, inglés, islandés, italiano, neerlandés, noruego,
portugués, sueco y vasco. También conocida como Alfabeto Latino n.º 1 o ISO Latín 1.

Esta norma pertenece al grupo de juegos de caracteres de la ISO conocidos como ISO/IEC 8859 que se
caracterizan por poseer la codificación ASCII en su rango inicial (128 caracteres) y otros 128 caracteres
para cada codificación, con lo que en total utilizan 8 bits.

Los caracteres de ISO-8859-1 son además los primeros 256 caracteres del estándar ISO 10646
(Unicode).
La norma ISO 8859-15 consistió en una revisión de la ISO 8859-1, incorporando el símbolo del Euro y
algunos caracteres necesarios para dar soporte completo al francés, finés y estonio.

Acentos y tildes
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

carácter ISO-8859-1 UTF-8 UTF-16


á 0xe1 0xc3 0xa1 0x00 0xe1
Á 0xc1 0xc3 0x81 0x00 0xc1
é 0xe9 0xc3 0xa9 0x00 0xe9
É 0xc9 0xc3 0x89 0x00 0xc9
í 0xed 0xc3 0xad 0x00 0xed
Í 0xcd 0xc3 0x8d 0x00 0xcd
ó 0xf3 0xc3 0xb3 0x00 0xf3
Ó 0xd3 0xc3 0x93 0x00 0xd3
ú 0xfa 0xc3 0xba 0x00 0xfa
Ú 0xda 0xc3 0x9a 0x00 0xda
ü 0xfc 0xc3 0xbc 0x00 0xfc
Ü 0xdc 0xc3 0x9c 0x00 0xdc
ñ 0xf1 0xc3 0xb1 0x00 0xf1
Ñ 0xd1 0xc3 0x91 0x00 0xd1
¿ 0xbf 0xc2 0xbf 0x00 0xbf
? 0x3f 0x3f 0x3f 0x00 0x3f
¡ 0xa1 0xc2 0xa1 0x00 0xa1
! 0x21 0x21 0x21 0x00 0x21

Códigos numéricos

Los datos numéricos se almacenan de forma distinta a como lo hacen los datos alfanuméricos debido a
que con los primeros se deben realizar operaciones aritméticas o lógicas que con el formato de los
segundos no resultan de forma eficiente.
Nos podemos encontrar con varios formatos:

Representación de números enteros.

Utilizan el sistema binario puro para su codificación. Nos podemos encontrar las siguientes variantes

Módulo y signo. El bit situado más a la izquierda representa el signo y su valor es 0 para valor positivo
y 1 para valor negativo. El resto de bits representa el valor absoluto del número en binario. Por
ejemplo en 8 bits el valor numérico 10 en positivo y negativo se representaría.

10 = 0 00010102)
-10 = 1 00010102)
Se denomina rango de representación al conjunto de números representables según un método en
particular. Para el método módulo y signo es para n bits:

-(2n-1 -1) ≤ x ≤ 2n-1 - 1


I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

Complemento a 1. El bit situado más a la izquierda representa el signo y su valor es 0 para valor
positivo y 1 para valor negativo. Para los números positivos, el resto de bits representa el valor
absoluto del número en binario. El negativo de un número se obtiene complementando todos sus
dígitos (cambiando 0’s por 1’s y viceversa) incluido el bit del signo. Por ejemplo en 8 bits el valor
numérico 10 en positivo y negativo se representaría.

10 = 0 00010102)
-10 = 1 11101012)

El rango de representación es el mismo que el de módulo y signo.

Complemento a 2. El bit situado más a la izquierda representa el signo y su valor es 0 para valor
positivo y 1 para valor negativo. Para los números positivos, el resto de bits representa el valor
absoluto del número en binario. El negativo de un número se obtiene en dos pasos: se realiza el
complemento a uno del número y al resultado se le suma 1 en binario despreciándose el acarreo si
existiese. Por ejemplo en 8 bits el valor numérico 10 en positivo y negativo se representaría.

10 = 0 00010102)
-10 = 1 11101102)

El rango de representación es:

-2n-1 ≤ x ≤ 2n-1 - 1

Así para 8 bits: -128 ≤ x ≤ 127. Para 16 bits: -32768 ≤ x ≤ 32767 etc. El cero tiene una sola codificación:
000000002)

Exceso a 2n-1. Este método no utiliza ningún bit para el signo con lo cual todos los bits representan un
valor absoluto. Este valor se corresponde con el número representado más el exceso que para n bits es
2n-1. Por ejemplo para 8 bits el exceso es 27=128 con lo cual el número 10 vendrá representado por el
10+128=138, y el número –10 vendrá representado por el 118.

10 = 100010102)
-10 = 011101102)

El rango de representación es el mismo que el de complemento a dos.

Representación de números con coma fija.

La posición de la coma decimal es fija, siempre ocupando el mismo lugar.

Binario puro. Se representan los números mediante el método de complemento a 2. En esta


representación el punto decimal puede suponerse situado en cualquier lugar con lo que podremos
trabajar con números reales.
Decimal desempaquetado. Cada cifra decimal del número se representa de tal forma que ocupa un
byte. Cada uno de estos bytes lleva en su cuarteto (nibble) de la izquierda la combinación 00112)
denominados bits de zona, y en el cuarteto de la derecha la codificación binaria de la cifra, llamándose
bits de dígito a este cuarteto. El cuarteto de la izquierda de la última cifra del número representa el
signo del número conteniendo 00112) para positivo y 01112) para negativo. Nótese que la codificación
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

de los números positivos se corresponde con la codificación ASCII para el carácter equivalente: el 4 se
codifica como 0011 01002) tanto en decimal desempaquetado como en ASCII.

Decimal empaquetado. En este sistema de codificación se representa cada cifra en un cuarteto


(nibble) mediante su codificación binaria (la parte de zona del decimal desempaquetado), excepto el
último cuarteto de la derecha que contiene el signo con las mismas consideraciones que en el punto
anterior. El número 1994 que en decimal desempaquetado se codificaría como:

0011 0001 │ 0011 1001 │ 0011 1001 │ 0011 0100

en decimal empaquetado:

0000 0001 │ 1001 1001 │ 0100 0011

Representación en coma flotante.

Surge de la necesidad de representar números reales y enteros con un rango de representación mayor
que el que nos ofrece la representación en punto fijo y posibilitar a la computadora el tratamiento de
números muy grandes o muy pequeños. En su representación se utiliza la notación científica en la que
una cantidad se representa de la forma:

x = mantisa * baseexponente

En computación se utiliza el sistema binario por lo que la base será 2. Un número en esta notación
tiene infinitas representaciones, de las que se toma como estándar la denominada normalizada que
consiste en que la mantisa siempre tiene como parte entera un dígito significativo salvo en la
representación del número 0. Así por ejemplo el número 1234.56 se representaría como 1.23456 *
103. Ya hablando en binario, la parte entera de la mantisa siempre será 1, por lo que no se codificará y
se supondrá su valor para realizar los cálculos. Otra forma de normalización puede ser suponer que la
parte entera de la mantisa es siempre 0 y que el primer dígito de la parte decimal es siempre
significativo. En ambos casos existe la excepción del número 0. En computación la forma de
normalización más extendida es la primera que da lugar a la norma IEEE 754.

Debido a que la parte significativa está generalmente normalizada, el bit más significativo de la parte
significativa siempre es 1, así que no se representa cuando se almacena sino que es asumido
implícitamente. Para poder realizar los cálculos ese bit implícito se hace explícito antes de operar con
el número en coma flotante. Hay otros casos donde el bit más significativo no es un 1, como con la
representación del número cero, o cuando el número es muy pequeño en magnitud y rebasa la
capacidad del exponente, en cuyo caso los dígitos significativos se representan de una manera
denormalizada para así no perder la precisión de un solo golpe sino progresivamente. En estos casos,
el bit más significativo es cero y el número va perdiendo precisión poco a poco (mientras que al
realizar cálculos éste se haga más pequeño en magnitud) hasta que al final se convierte en cero.

Esta norma IEEE 754 fija dos formatos con signo explícito, representación del exponente en exceso a
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

2n-1 – 1, normalizada con un 1 implícito y base 2.

 precisión simple (32 bits): 1 bit de signo, 8 de exponente, 23 de mantisa


 precisión doble (64 bits): 1 bit de signo, 11 de exponente, 52 de mantisa

Codificaciones con significado especial, en precisión simple


 Infinito (exponente=255, mantisa=0): representan cualquier valor de la región de overflow
 NaN (Not-a-Number) (exponente=255, mantisa>0): se obtienen como resultado de
operaciones inválidas
 Número denormalizado (exponente=0, mantisa>0): es un número sin normalizar cuyo bit
implícito se supone que es 0. Al ser el exponente 0, permiten representar números en las
regiones de underflow. El valor del exponente es el del exponente más pequeño de los
números no denormalizados: -126 en precisión simple y –1022 en doble.
 Cero (exponente=0, mantisa=0): número no normalizado que representa al cero (en lugar
de al 1)

Ejemplo

Codifiquemos el número decimal -118,625 usando el sistema de la IEEE 754.

Necesitamos obtener el signo, el exponente y la fracción. Dado que es un número negativo, el bit de
signo es "1".

Primero, escribimos el número (sin signo) usando notación binaria. El resultado es 1110110,101.
Ahora, movemos la coma decimal a la izquierda, dejando sólo un 1 a su izquierda.

1110110,101=1,110110101·26

Esto es un número en coma flotante normalizado.

La mantisa es la parte a la derecha de la coma decimal, rellenada con ceros a la derecha hasta que
obtengamos todos los 23 bits. Es decir 11011010100000000000000.

El exponente es 6, pero necesitamos convertirlo a binario y desplazarlo (de forma que el exponente
más negativo es 0, y todos los exponentes son solamente números binarios no negativos). Para el
formato IEEE 754 de 32 bits, el desplazamiento es 127, así es que 6 + 127 = 133. En binario, esto se
escribe como 10000101.

Poniendo todo junto:


Lógica binaria (fuente Wikipedia)

La lógica binaria trabaja con variables binarias y operaciones lógicas del Álgebra de Boole. Así, las
variables sólo toman dos valores discretos: V (verdadero) y F (falso); aunque también se pueden
denotar como sí y no, o 1 y 0 respectivamente.
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

Álgebra de Boole (también llamada álgebra booleana) en informática, es una estructura algebraica
que esquematiza las operaciones lógicas Y, O y NO (AND, OR, NOT).

Tablas de verdad de las operaciones binarias fundamentales

AND (Y lógico, multiplicación o intersección)

A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1

El resultado siempre dará 0 a menos que ambas variables valgan 1

OR (O lógico, suma o unión)

A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1

El resultado arrojado es siempre 1 siempre que una de las variables tenga por valor 1.

NOT (NO lógico)


A NOT A
0 1
1 0

NOT es una inversión del valor.


Axiomas del Álgebra de Boole
 Existencia del elemento neutro
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

A OR 0 = A
A AND 1 = A

Por lo tanto 0 es el elemento neutro para OR y 1 lo es para AND.

 Propiedad conmutativa. El resultado no de pende del orden

A AND B = B AND A
A OR B = B OR A

 Propiedad asociativa

A OR (B AND C) = (A OR B) AND (A OR C)
A AND (B OR C) = (A AND B) OR (A AND C)

 Leyes de Morgan

NOT ( A OR B) = (NOT A) AND (NOT B)


NOT (A AND B) = (NOT A) OR (NOT B)

Lo que da lugar al principio de dualidad: Todas las expresiones booleanas permanecen válidas si se
intercambian los operadores OR y AND, y los elementos 0 y 1.

Expresiones
Una expresión es una combinación de operandos, que son los valores sobre los que va a actuarse, y
operadores que indican que operaciones van a efectuarse obteniendo un solo valor final. Las
expresiones pueden ser aritméticas, relacionales y lógicas, combinándose muchas veces entre sí
formando expresiones complejas. Así una expresión aritmética está formada por operandos
numéricos y por operadores aritméticos, dando lugar al ser evaluada a un valor numérico

(A * 5) / (B -3)

Los operadores aritméticos generalmente utilizados en los distintos lenguajes de programación y


lenguajes de scripts y comandos son:

operador operación aritmética


+ suma o indicador signo positivo
- resta o indicador signo negativo
* multiplicación
/ división
\ división entera
% mod resto de división entera
^ exponenciación
(*) no todos los lenguajes disponen de todos los operadores. Los de suma, resta multiplicación y división si suelen tenerlos
Una expresión relacional está formada por dos operandos y un operador relacional u operador de
comparación, que al ser evaluada da lugar a un valor booleano. “la comparación es cierta o no”

A > 32
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

Los operadores aritméticos generalmente utilizados son

operador comparación relacional


> -gt mayor que
< -lt menor que
= == -eq igual a
=== estrictamente igual
>= -ge mayor o igual que
<= -le menor o igual que
<> -ne distinto de

Una expresión lógica está formada por uno dos operandos y un operador booleano o lógico, que al ser
evaluada da lugar a un valor booleano.

A and B

Los operadores booleanos generalmente utilizados son

operador operación booleana


and && y lógico
or || o logico
not ! no lógico

Dado que el resultado de una expresión relacional es booleano, se pueden combinar con las
expresiones booleanas actuando como operandos de estas. A su vez las expresiones aritméticas dan
como resultado un valor aritmético que puede aparecer como operandos de expresiones relacionales.
Y por último como una expresión booleana da como resultado un valor booleano, una expresión de
este tipo puede aparecer como operando de otra expresión booleana

a > 5 and J=2


2 +3 < B and J * 10 <H
A and J > 10 or B

Todas estas expresiones son sintácticamente correctas y darán como resultado un valor booleano true
o false.

Cuando en una expresión aparecen expresiones de varios tipos, o expresiones complejas, está claro
que se debe establecer un orden a la hora de ir evaluando expresiones simples. Esto da lugar a la
jerarquía o precedencia o prioridad entre las expresiones a la hora de ser evaluadas.

En una expresión compleja siempre se evalúa lo primero las expresiones aritméticas. Si hay varias
expresiones aritméticas se evaluarán primero las que estén escritas dentro de los paréntesis más
internos ( la función de los paréntesis es justamente esta, la de establecer prioridades disitintas a las
de por defecto). En la expresión:

A + ( 5 – J ) /(( H * 2 ) + 4)
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

Primero se evaluará H*2 por aparecer en los paréntesis más internos. Una vez evaluada esta
expresión, que al ser aritmética dará como resultado un valor aritmético. Sea este W, la expresión
quedaría:

A + ( 5 – J ) /( W + 4 )
Ahora nos encontramos que en la expresión aparecen dos subexpresiones incluidas en paréntesis del
mismo nivel de inserción. En estos casos se resuelve primero la expresión que aparece escrita en
primer lugar por la izquierda, por lo tanto se evaluará primero la expresión 5 –J, supongamos que da
un valor X y luego W + 4 dando lugar a un valor Y.

La expresión quedará en este momento:

A+X/Y

Nos encontramos ahora con una expresión en la que aparecen varios operadores distintos. ¿Qué
operación se hace primero? Entre los operadores aritméticos hay también una jerarquía: primero se
haces la exponenciación, posteriormente la multiplicación y división también al mismo nivel y por
último la suma y resta al mismo nivel. En la anterior expresión se realizará primero la división y
posteriormente el resultado se sumará con A. Si apareciesen varios operadores del mismo nivel se
realizará primero la operación que aparezca escrita antes por la izquierda en la expresión:

A/B*C

Primero se realiza A/B y posteriormente se multiplicará por C.

Lo mismo ocurre con los operadores relacionales, en los que todos tienen la misma jerarquía, y con los
operadores booleanos en los que la precedencia es not and or.

Ejemplo:

(( A + 5 ) / B ) > ( J – 4 ) AND C OR ( NOT ( ( A + 1 ) > 0) OR H )

Supongamos que :

A=3
B=2
J=4
C = true
H = false

1 – sustitución de valores

(( 3 + 5 ) / 2 ) > ( 4 – 4 ) AND true OR ( NOT ( ( 3 + 1 ) > 0) OR false )

2 – Evaluación de expresiones aritméticas empezando por las contenidas en paréntesis más internos,y
a igualdad por prioridad de operador y a igualdad de izquierda a derecha:
(( 3 + 5 ) / 2 ) > ( 4 – 4 ) AND true OR ( NOT ( ( 3 + 1 ) > 0) OR false )
(( 3 + 5 ) / 2 ) > ( 4 – 4 ) AND true OR ( NOT ( 4 > 0) OR false )
( 8 / 2 ) > ( 4 – 4 ) AND true OR ( NOT ( 4 > 0) OR false )
4 > ( 4 – 4 ) AND true OR ( NOT ( 4 > 0) OR false )
4 > 0 AND true OR ( NOT ( 4 > 0) OR false )
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos

3 – Evaluación de las expresiones relacionales empezando por las contenidas en paréntesis más
internos, y a igualdad de izquierda a derecha:

4 > 0 AND true OR ( NOT ( 4 > 0) OR false )


4 > 0 AND true OR ( NOT ( true) OR false )
true AND true OR ( NOT ( true) OR false )

4 - Evaluación de las expresiones booleanas empezando por las contenidas en paréntesis más internos,
a igualdad por prioridad de operador y a igualdad de izquierda a derecha:

true AND true OR ( NOT ( true) OR false )


true AND true OR ( false OR false )
true AND true OR false
true OR false
true

También podría gustarte