REPRESENTACION DE
DATOS
Bit
Un Bit es el acrónimo
de Binary digit (dígito binario). Un bit es un dígito del sistema de
numeración binario. Un sistema de numeración es un conjunto de símbolos y
reglas de generación que permiten construir todos los números válidos y el
sistema binario, en matemáticas e informática, es un sistema de numeración en el que los números se representan
utilizando solamente las cifras cero y uno (0 y 1).
En pocas palabras, y como ya muchos sospechan: las computadoras solo
entienden 0 y 1. Esto se debe principalmente a que trabajan con voltajes
internos: encendido = 1 y apagado = 0.
Un bit o dígito binario puede representar uno de esos dos valores, 0 ó
1.
El bit es la unidad mínima de información empleada en
informática, en cualquier dispositivo digital, o en la teoría de la
información. Con él, podemos representar dos valores cuales quiera, como
verdadero o falso, abierto o cerrado, blanco o negro, norte o sur, masculino o
femenino, rojo o azul, etc. Basta con asignar uno de esos valores al estado de
“apagado” (0), y el otro al estado de “encendido” (1).
Cuando se habla de CPUs o microprocesadores de 4, 8, 16, 32, 64 bits, se
refiere al tamaño, en número de bits, que tienen los registros internos del
procesador y también a la capacidad de procesamiento de la Unidad aritmético
lógica (ALU). Un microprocesador de 4 bits tiene registros de 4 bits y la ALU
hace operaciones con los datos en esos registros de 4 bits, mientras que un
procesador de 8 bits tiene registros y procesa los datos en grupos de 8 bits.
Los procesadores de 16, 32 y 64 bits tienen registros y ALU de 16, 32 y
64 bits respectivamente, y generalmente pueden procesar los datos, tanto en el
tamaño en bits de sus registros como, dependiendo que su diseño lo permita, en
determinados submúltiplos de éstos.
Cuando se habla de procesadores de, digamos 32 bits, nos referimos a su
capacidad de procesar datos en hasta 32 bits simultáneamente (también puede
procesar datos en 8 y 16 bits). La denominación de “microprocesador de 32 bits”
no se refiere al tamaño del bus de datos del CPU ni del bus de direcciones, sino
a su capacidad de trabajar normalmente con los datos en el número máximo de
bits (salvo alguna excepción).
Byte
Un Byte u octeto, es una secuencia de bits contiguos, cuyo tamaño
depende del código de información o código de caracteres en que sea definido.
Se usa comúnmente como unidad básica de almacenamiento de datos en combinación con los prefijos de cantidad.
Se usa comúnmente como unidad básica de almacenamiento de datos en combinación con los prefijos de cantidad.
Así que tenemos que un byte = 8 bits
Kilobyte (kB)
El kB es una unidad de almacenamiento de información que equivale a
103 bytes. El término kilobyte y el símbolo kB se han utilizado
históricamente para hacer referencia tanto a 1024 (210) bytes como a 1000 (103)
bytes, dependiendo del contexto, en los campos de la informática y de la tecnología
de la información.
En los inicios de la informática, las unidades se mostraban como
múltiplos de 1000, pero en los años 60 se empezó a confundir 1000 con 1024,
puesto que la memoria de los ordenadores trabaja en base binaria y no decimal.
Sin embargo, etimológicamente es incorrecto utilizar estos prefijos (de base
decimal) para nombrar múltiplos en base binaria. Como ocurre en el caso del
kilobyte, a pesar de que 1024 se aproxime a 1000.
Kibibyte
Un kibibyte (contracción de kilobyte binario) es una unidad de
información o almacenamiento de datos. Corresponde a 210 bytes, es decir
1024 bytes. Se representa con el símbolo KiB con K mayúscula.
Megabyte (MB)
El megabyte (MB) o megaocteto (Mo) es una unidad de medida de cantidad
de datos informáticos. Es un múltiplo del byte u octeto, que equivale a
106 B (un millón de bytes). Se representa por MB y no por Mb, cuya
correspondencia equivaldría a megabit. Coloquialmente a los megabytes se
les denomina megas.
Es la unidad más típica actualmente, junto al múltiplos inmediatamente
superior, el gigabyte, usándose para especificar la capacidad de la memoria
RAM, de las memorias de tarjetas gráficas, de los CD-ROM, o el tamaño de los
programas, de los archivos grandes, etc. La capacidad de almacenamiento se mide
habitualmente en gigabytes, es decir, en miles de megabytes.
Mebibyte
Un mebibyte (contracción de megabyte binario) o, en su forma abreviada,
MiB, es una unidad de información o memoria cuyo valor es de
220 equivalente a 1.048.576 bytes.
Gigabyte (GB)
Un gigabyte es una unidad de almacenamiento de información cuyo símbolo
es el GB, equivale a 109 bytes. Esta es una unidad de almacenamiento
muy usada hoy en día en discos duros y unidades SSD, por ejemplo un disco duro de 500 GB o una unidad SSD de 120 GB de capacidad.
muy usada hoy en día en discos duros y unidades SSD, por ejemplo un disco duro de 500 GB o una unidad SSD de 120 GB de capacidad.
Gibibyte
Un gibibyte (contracción de gigabyte binario) es una unidad de
información o almacenamiento de datos. Corresponde a 230 bytes, es decir
1.073.741.824 bytes. Se representa con el símbolo GiB.
Terabyte (TB)
Un terabyte es una unidad de almacenamiento de información cuyo símbolo
es el TB, y equivale a 1012 bytes. Adoptado en 1960, el
prefijo tera viene del significado griego “monstruo o bestia”.
1 TB =
103 GB = 106 MB = 109 kB = 1012 bytes
Tebibyte
Tebibyte es una unidad de almacenamiento de información. Corresponde a
240 bytes, es decir 1.099.511.627.776 bytes. Se representa con el símbolo
TiB. El empleo del prefijo “tebi” (tera binario) se debe a que es la potencia
de 2 que más se aproxima a “tera”, prefijo cuyo valor es 1012, es decir,
1.000.000.000.000.
Petabyte (PB)
Un petabyte es una unidad de almacenamiento de información cuyo símbolo
es el PB, y equivale a 1015 bytes = 1.000.000.000.000.000 de bytes. El
prefijo peta viene del significado griego “cinco”, pues equivale a
10005 ó 1015. Está basado en el modelo de tera, que viene del griego
‘monstruo’.
Como ejemplo de esta unidad podemos mencionar Google, quien procesa
sobre 20 petabytes de datos cada día (posiblemente más); filmar la vida de una
persona (100 años) en alta definición (10 megapíxels, 50 fotogramas por
segundo) ocuparía 0,5 petabytes. Facebook tiene 60 mil millones de imágenes, lo
que supone 1,5 petabytes de almacenamiento y crece a un ritmo de 220 millones
de imágenes por semana.
Estos ejemplos nos dan una idea de lo que es un petabyte!
Pebibyte
Pebibyte es la denominación de una Unidad de almacenamiento de
información. Corresponde a 250 bytes, es decir, 1.125.899.906.842.624
bytes. Se representa con el símbolo PiB. El empleo del prefijo «pebi» (peta
binario) se debe a que es la potencia de 2 que más se aproxima a “peta”,
prefijo cuyo valor es 1015, es decir, 1.000.000.000.000.000.
Exabyte (EB)
Un exabyte es una unidad de medida de almacenamiento de información cuyo
símbolo es el EB, equivale a 1018bytes. El prefijo viene adoptado en 1991 del
griego, con significado “seis” (como hexa-), pues equivale a 10006.
Tomemos como ejemplo el tráfico anual que puede tener Internet, se
estima entre 5 y 9 exabytes. Del mismo modo, el tamaño de Internet (entendido
como almacenamiento digital global) se estima en cerca de 500 exabytes.
Zettabyte (ZB)
Un zettabyte es una unidad de almacenamiento de información cuyo símbolo
es el ZB, equivale a 1021 bytes. El prefijo viene adoptado del latín
“septem” en 1991, que significa siete (como hepta-), pues equivale a 10007.
Como ejemplo, se ha estimado que a finales del año 2010 se alcanzó la
cifra de 1,2 ZB de datos almacenados (a nivel mundial).
Yottabyte (YB)
Un yottabyte es una unidad de almacenamiento de información cuyo símbolo
es el YB, y equivale a 1024 bytes. Adoptado en 1991, el prefijo yotta
viene del griego okto, que significa “ocho”.
CONCEPTOS
DE HARDWARE Y SOFTWARE
REPRESENTACIÓN
DE DATOS
Para
entender la manera en que las computadoras procesan datos, es importante
conocer cómo la computadora representa los datos. Las personas se comunican a
través del habla combinando palabras en oraciones. El habla humana es análoga
porque utiliza señales continuas que varían en fortaleza y calidad. Las
computadoras son digitales, pues reconocen solo dos estados: encendido (on) y
apagado (off). Esto es así porque las computadoras son equipos electrónicos que
utilizan electricidad, que también tiene solo dos estados: on y off. Los dos
dígitos 0 y 1 pueden fácilmente representar estos dos estados. El dígito cero
representa el estado electrónico apagado (la ausencia de carga electrónica). El
dígito uno representa el estado electrónico encendido (presencia de carga
electrónica).
El
sistema binario es un sistema numérico que tiene tan solo dos dígitos, 0 y 1,
llamados bits. Un bit (binary digit) es la unidad de datos más
pequeña que la computadora puede representar. Por sí solo, un bit no es muy
informativo. Cuando ocho bits se agrupan como una unidad, forman un byte. El
byte es informativo porque provee suficientes combinaciones diferentes de 0 y 1
para representar 256 caracteres individuales. Esos caracteres incluyen números,
letras mayúsculas y minúsculas, signos de puntuación y otros.
Las
combinaciones de 0 y 1 que representan caracteres son definidas por patrones
llamados esquemas de códigos (coding scheme). Esquemas de códigos populares
son:
1. ASCII –
American Standard Code for Information Interchange – es el sistema de código
para representar datos que más se utiliza. La mayoría de las computadoras
personales y servidores mid-range utilizan el esquema de código ASCII.
2. EBCDIC –
Extended Binary Coded Decimal Interchange Code – es utilizado principalmente en
computadoras mainframe.
3. Unicode –
es el único esquema de código capaz de representar todos los lenguajes del
mundo actual. Se desarrolló precisamente porque el ASCII y el EBCDIC no eran
suficientes para representar lenguajes para alfabetos diferentes al inglés o
Europeo, como los asiáticos y otros.
Hoy en día casi todos en el mundo están más o menos familiarizados con
términos como megabyte, gigabytes, memoria, disco duro, etc. pero no todos
están familiarizados con términos como petabyte, terabyte, SSD, etc. Todos
hablamos de archivos, de lo que ocupan en nuestras computadoras, de lo que
tardan las descargas en Internet, pero la verdad es que se desconoce (en muchos
casos) como se almacena y distribuye esa información.
ESTRUCTURAS DE DATOS
Una estructura de datos es,
a grandes rasgos, una colección de datos (normalmente de tipo simple) que se
caracterizan por su organización y las operaciones que se definen en ellos. Por
tanto, una estructura de datos vendrá caracterizada tanto por unas ciertas
relaciones entre los datos que la constituyen (p.e., el orden de las
componentes de un vector de números reales), como por las operaciones posibles
en ella. Esto supone que podamos expresar formalmente, mediante un conjunto de
reglas, las relaciones y operaciones posibles.
ESTRUCTURAS
DE DATOS CONTIGUAS
Cadenas
Se define como una secuencia de
caracteres que se interpretan como un dato único. Su longitud puede ser fija o
variable por lo que, además de saber que están constituidas por caracteres alfanuméricos,
hemos de conocer su longitud.
ARRAYS
Es un conjunto de datos del
mismo tipo almacenados en la memoria del ordenador en posiciones adyacentes.
Sus componentes individuales se llaman elementos y se distinguen
entre ellos por el nombre del array seguido de uno o varios índices o
subíndices. El número de elementos del array se específica cuando se crea
éste, en la fase declarativa del programa, definiendo el número de
dimensiones o número de índices del mismo y los límites máximo y mínimo que
cada uno de ellos puede tomar, que llamaremos rango. Según sea este
número, distinguiremos los siguientes tipos de arrays:
-
Unidimensionales Vectores
-
Bidimensionales (matrices)
Llamaremos matriz o tabla a
un array bidimensional, esto es, un conjunto de elementos del mismo tipo en el
que sus componentes vienen definidos por dos subíndices, el primero referido a
la fila y el segundo a la columna. Además de las matrices, que utilizamos en
álgebra lineal.
-
MULTIDIMENSIONALES
Dependiendo del tipo de
lenguaje, pueden existir arrays de tres o más dimensiones (por ejemplo FORTRAN
77 admite hasta siete dimensiones). Para el caso de tres dimensiones, la
estructura puede visualizarse como un cubo, y para mayor número de dimensiones
ésta visualización no es posible.
El tratamiento de estos arrays
es similar al de las matrices, cada conjunto de índices individualiza un
elemento de la estructura, que se almacena en memoria de forma secuencial.
ESTRUCTURAS
DINAMICAS Y PUNTEROS
En muchas ocasiones es
conveniente poder disponer de un método por el cual, podamos adquirir
posiciones de memoria adicionales, a medida que las vayamos necesitando durante
la ejecución y al contrario liberarlas cuando no se necesiten. Las variables y
estructuras de datos que reúnen estas condiciones se llaman dinámicas y
se representan con la ayuda de un nuevo tipo de dato, llamado puntero,
que se define como un dato que indica la posición de memoria ocupada por otro
dato. Los punteros proporcionan los enlaces de unión entre los elementos,
permitiendo que, durante la ejecución del programa, las estructuras dinámicas
puedan cambiar sus tamaños. En las estructuras dinámicas estos elementos,
llamados nodos, son normalmente registros de al menos dos campos, donde
por lo menos uno de ellos, es un puntero.
La utilización de punteros
permite que sea relativamente fácil añadir indeterminadamente nuevos datos,
insertar nuevos nodos en otros ya existentes y en general modificar estas
estructuras. Dependiendo de las relaciones entre los nodos de la estructura
hablaremos de estructuras lineales y no lineales: si partiendo del nodo inicial
es posible dirigirse sucesivamente a todos los nodos visitando cada uno una
única vez diremos que es una estructura lineal; en caso de no ser
posible el recorrido en estas condiciones se habla de estructura no lineal.
ESTRUCTURAS
LINEALES
LISTAS
ENLAZADAS
Estas listas están formadas por
un conjunto de nodos, en los que cada elemento contiene un puntero con la
posición o dirección del siguiente elemento de la lista, es decir su enlace.
PILAS
Una pila (stack) es una
estructura lineal a cuyos datos sólo se puede acceder por un solo extremo,
denominado tope o cima (top). En esta estructura sólo se pueden efectuar
dos operaciones: añadir y eliminar un elemento, acciones que se conocen por meter
(push), y sacar (pop). Por esta razón se dice que la pila es una
estructura en la que el último en entrar es el primero en salir, en inglés, LIFO
(last in first out).
COLAS
Vamos a definir cola, como una estructura
lineal, en la que los datos entran por la parte de atrás y salen por la de delante.
Una cola es una estructura en la que el primer dato en entrar es el primer dato
en salir, es decir, una estructura FIFO (first in, first out).
ESTRUCTURAS
NO LINEALES
ARBOLES
Un árbol es una
estructura que implica una jerarquía, en la
que cada elemento está unido a otros por debajo de él. Comparada con las estructuras lineales anteriores, el árbol
tiene la particularidad de que cada elemento puede tener más de un “siguiente”, aunque un solo antecedente o
padre.
Definiremos árbol, de
forma recursiva, como un conjunto finito de uno o más nodos, de tal
manera, que exista un nodo especial denominado raíz y los nodos restantes
están divididos en conjuntos denominados subárboles, que también responden
a la estructura de un árbol. Por extensión a la idea de árbol genealógico se
habla de nodos padres y nodos hijo y un nodo, en la parte inferior del que no cuelgue
ningún subárbol (no tiene ningún hijo) se denomina nodo terminal u hoja
Referencias : http://robotica.uv.es/pub/Libro/PDFs/CAPI5.pdf


No hay comentarios:
Publicar un comentario