Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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:
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.
Exacta
Estructurada
A tiempo
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.
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.
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
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 = 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:
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.
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:
11101102)
2. La parte fraccionaria:
0,625 x 2 = 1,250
0,250 x 2 = 0,500
0,500 X 2 = 1
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:
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.
Tipos de caracteres
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
Es una norma de transmisión utilizada junto con la norma de codificación Unicode y sus características
principales son:
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
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
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:
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:
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)
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)
-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)
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.
en decimal empaquetado:
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
Ejemplo
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
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.
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).
A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1
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.
A OR 0 = A
A AND 1 = A
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
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)
A > 32
I.E.S. «Venancio Blanco» SALAMANCA – Sistemas Informáticos
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
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
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.
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
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:
Supongamos que :
A=3
B=2
J=4
C = true
H = false
1 – sustitución de valores
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 - 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: