Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Curso C++

[Home]  [Inicio]  [Índice]


0.1   El Ordenador Electrónico Digital

"Calcular con números es en sí mismo una forma de razonamiento, y buena parte del razonamiento que las personas hacemos se puede considerar una forma de computación...  La computación y el razonamiento lógico son en realidad las dos caras de una misma moneda".  Martin Davis "La Computadora Universal, de Leibniz a Turing". Editorial Debate S.A. Madrid 2002.  

§1  Presentación:

Imaginamos sobradamente conocidos por cualquier estudiante de C++ los principios generales sobre los que se basan los ordenadores electrónicos digitales; las máquinas en las que probablemente se ejecutarán sus programas.  Sin embargo, no está de más un brevísimo repaso a fin de refrescar y traer al tiempo presente algunos conceptos.

Nota:  En muchos países hispano-hablantes de cultura técnica más influenciada por USA, se utiliza el término "computadora" por ordenador;  más parecida a su equivalente inglés "Computer".  Por su parte, la versión castellana deriva del francés "Ordinateur".  Esta es también la razón por la que en hispano América se dice "La PC", mientras que por aquí decimos "El PC", en referencia al ordenador (masculino).

 §2  Ordenador electrónico digital:

"Underlying our approach to this subject is our conviction that 'computer science' is not a science and that its significance has little to do with computers.  The computer revolution is a revolution in the way we think and in the way we express what we think". Harol Abelson y otros. "Structure and Interpretation of Computer Programs". 2ª Edición 1999. The MIT Press Cambridge, Massachusetts.

Cualquier dispositivo capaz de resolver problemas mediante proceso de la información en forma discreta.  Recordemos que aquí, el término "digital" se usa en contraposición a "analógico", y significa que la información se representa internamente en forma de números. Por contra, en los dispositivos analógicos la información está representada por tensiones y/o intensidades si el dispositivo es electrónico. Aunque pueden existir dispositivos analógicos no eléctricos.  Por ejemplo, mecánicos, hidráulicos, ópticos. etc.  En estos últimos la información está representada por la posición o desplazamiento de ruedas o palancas; por la presión o circulación de un fluido en un conducto, o por la propagación de la luz en un circuito (que puede ser una fibra óptica).

Mediante el recuento, comparación y manipulación de estos números, de acuerdo con un conjunto de instrucciones almacenadas en su memoria, un ordenador electrónico digital puede realizar multitud de tareas:  Realizar complejos cálculos matemáticos; reproducir una melodía o ganar una partida de ajedrez al campeón mundial humano de la especialidad.

La información se presenta en forma de datos e instrucciones (algoritmos) para su manipulación y, como hemos señalado, está "digitalizada".  Es decir, reducida a magnitudes numéricas discretas (números racionales) representados a su vez en formato binario.  Este formato utiliza magnitudes que solo pueden adoptar dos valores mutuamente exclusivos (cierto y falso, cero o uno, encendido o apagado, Etc.)  Por consiguiente, pueden representarse con solo dos símbolos (gráficamente O y 1).  En contraposición, el formato decimal tiene diez dígitos (del 0 al 9 en el sistema arábigo).  Esta forma de representación es válida no solo para la información textual, representada mediante el código ASCII, Unicode, o cualquier otra convención.  También las cantidades numéricas, las imágenes, los colores, los sonidos y los algoritmos, están almacenados en el ordenador en formato binario.  Resulta así, que el universo de las computadoras electrónicas digitales es un océano de números binarios que representan datos e instrucciones para su manipulación.

Nota:  No confundir los conceptos: electrónico (basados en la electrónica); digital (utilizar magnitudes discretas representadas por números) y binarios (utilizar este modo de representación, una lógica y un álgebra de Boole Int Ap.K).  Nada impide la existencia de ordenadores no electrónicos.  Por ejemplo, mecánicos, ópticos, biológicos o basados en fluidos.  También han existido y existen ordenadores analógicos (no digitales) exclusivamente mecánicos. Por ejemplo, la humilde regla de cálculo, o dispositivos más sofisticados, como elementos de puntería y dirección de tiro de artillería. Tampoco existe inconveniente teórico para la existencia de ordenadores digitales no binarios [9].

El hecho de que los actuales ordenadores electrónicos digitales sean binarios, se debe, entre otras razones, a que los circuitos eléctricos están especialmente adaptados al modo binario.  Simplemente haciendo corresponder los dos posibles valores de la variable con dos estados físicos de un circuito o dispositivo. Por ejemplo, con los estados de: conducción no conducción; tensión, sin tensión; magnetizado no magnetizado; con luz, sin luz; Etc.

Como el álgebra de Boole [1] maneja variables que solo pueden tener dos estados ("cierto" y "falso"), es muy fácil representar y emular comportamientos y ecuaciones de este álgebra mediante circuitos electrónicos.  Así, construir un circuito electrónico que responda (que proporcione como salida) el OR, AND, NOR, XNOR, Etc. de ciertas variables de "entrada", es trivial desde el punto de vista de diseño de circuitos lógicos.  Es relativamente fácil diseñar un circuito digital que responda a unas "Ecuaciones" lógicas (de Boole) por complejas que sean.

Nota:  Han existido intentos de construir ordenadores digitales en base a lógicas no binarias.  Por ejemplo, "ternarias".  Actualmente se empieza a hablar de la computación cuántica,  basada en algo distinto a dos estados mutuamente exclusivos.

§3  Propiedades de los datos

Más adelante ( 2) se incluyen algunas puntualizaciones sobre el asunto de datos e instrucciones (algunas casi filosóficas), pero por ahora nos centraremos en los primeros (los datos) para aclarar algunos conceptos que, con frecuencia se confunden.

Nota:  Al ser este un manual o curso de C++, encontrará que la mayor parte de él se refiere a los algoritmos.

§3.1  Los datos como colectivo

Aunque en último extremo todo son números, desde un punto de vista macroscópico, a los informáticos les gusta referirse a los datos clasificándolos en dos grandes apartados que se corresponden mejor con la imagen que el humano tiene de ellos: numéricostextuales o alfanuméricos .  Cuando estos datos no están en la memoria interna sino en dispositivos externos (generalmente discos magnéticos u ópticos), se agrupan en ficheros, de los que existen infinidad de tipos;  aunque es frecuente agruparlos en dos grandes categorías:  textuales y binarios [6].

Nota:  En algunos Sistemas, por ejemplo Windows, es costumbre que los ficheros del mismo tipo (de la misma "familia") tengan nombres con la misma terminación [10].  Tradicionalmente esta terminación la componen tres letras después del nombre separadas de él por un punto, lo que permite identificar fácilmente los ficheros de la misma familia.  Existen tantos tipos como la imaginación de los programadores y fabricantes de software han sido capaces de crear (.TXT; .DLL; .DOC; .ASP; Etc.)   Generalmente el sistema operativo asocia cada fichero (no ejecutable) con una aplicación (ejecutable) que es la encargada de su manejo [8].  A este proceso se le denomina asignación de extensiones de nombres de archivo.

§3.1a  Datos textuales.

Se refieren a la idea que todos tenemos de aquella información que puede ser representada mediante la escritura.  Tienen cuatro atributos o características que conviene matizar:

  • Lengua natural [2] en que se haya representado, que puede ser cualquiera de las conocidas: Español, Francés, Inglés, Alemán, etc.

  • Sistema de escritura utilizado. Existen dos:  alfabéticos e ideográficos.  Los primeros utilizan un conjunto reducido de símbolos (caracteres) para representar las palabras. Para nosotros es el denominado "Sistema occidental" que se basa en un alfabeto de raíz latina, aunque naturalmente existen otros:  Árabe, Griego, Etc.  Los sistemas ideográficos utilizan símbolos (ideogramas) para representar ideas.  Existen sistemas que son combinación de ambos.

  • Juego de caracteres.  Es el conjunto de caracteres distintos que se utiliza en un documento.  Por ejemplo, aunque el Español y el Francés utilizan un alfabeto de raíz latina, algunos caracteres y signos de puntuación son distintos, de forma que ambos idiomas utilizan distinto juego de caracteres ("Character set").

  • Sistema de codificación empleado para traducir los grafos del alfabeto a números.  Se empezó utilizando el US-ASCII, pero actualmente el sistema más utilizado es Unicode ( 2.2.1a).

§3.1b  Datos binarios

La informática trata cada vez más con los tipos de datos denominados "Multimedia", sonidos e imágenes [3], en multitud de formas y calidades:  Monoaural, estéreo, Dolbi-digital, MP3, Etc. para los primeros; Estáticas o en forma de flujo (stream), en color o en blanco y negro, Etc. para las segundas.

Aunque tanto los sonidos como las imágenes son de naturaleza intrínsecamente analógica, los informáticos han inventado sistemas para digitalizarlas (reducirlas a números) con la menor pérdida de calidad y de la forma más comprimida posible.  Aquí se habla de "codecs" para referirse a los diversos algoritmos que a la postre reducen los sonidos o imágenes a ficheros de números, y posteriormente reconstruyen los sonidos e imágenes a partir de los números.  Estos ficheros son conocidos de forma genérica como "binarios".

§3.2  Datos individuales

Desde la óptica de los lenguajes como C/C++, los datos son básicamente de dos tipos:  numéricos y caracteres.  Existen diversos subtipos de los primeros, el más simple de los cuales es el entero corto sin signo unsigned short.  De los segundos existe menos variedad; básicamente solo dos tipos:  caracteres estrechos y anchos (char y wchar_t).  En cambio presentan la ventaja de que pueden agruparse en cadenas (arrays o matrices) de cualquier longitud.  Son las denominadas "cadenas alfanuméricas", en las que sus elementos (caracteres) pueden ser alfabéticos (letras), numéricos (guarismos) y signos de puntuación (interrogación, punto, coma, Etc.)

Ambos tipos de datos, numéricos y caracteres, son conocidos colectivamente como escalares.  En ellos pueden distinguirse varios aspectos:

§3.2a  Representación simbólica

Corresponde a la representación de los datos en el programa (fuente) y en la mente del programador.  En lo que respecta a los primeros (magnitudes numéricas), nuestra cultura "Occidental" utiliza para su representación el denominado sistema de numeración decimal con cero , inventado por la antigua cultura Indostánica.  Sin embargo, la notación que empleamos es arábiga [5].  La razón de que haya prevalecido frente al sistema latino (números "romanos") es simplemente que es mucho más adecuado para las operaciones aritméticas (una de las causas del escaso desarrollo de las matemáticas en la Roma Clásica, fue precisamente lo inadecuado del sistema de numeración que utilizaban).

Para la representación de caracteres utilizamos un alfabeto de raíz latina que, aunque coincide en lo sustancial, presenta algunas diferencias entre los distintos idiomas occidentales.  Como resultado de lo anterior, escribimos que la variable pi vale 3.1416 y la primera letra mayúscula del alfabeto es A.

Nota:  Es tradición informática que algunas constantes numéricas sean representadas en el fuente por una representación distinta de la decimal. Por ejemplo, octal o hexadecimal .

§3.2b  Sistema de codificación.

Se refiere a una regla por la que los caracteres son transformados en números manipulables por el ordenador (los datos numéricos ya lo están).  Existen dos formas de hacerlo: los sistemas de ancho constante y los de ancho variable.  En ambos casos la estrategia consiste en ordenar el juego de caracteres (letras, guarismos y signos) en una tabla, y hacer corresponder un número con las posiciones sucesivas de la misma.  La diferencia entre ambos sistemas es que los primeros utilizan representaciones numéricas que ocupan siempre el mismo espacio en el interior de la máquina (generalmente 8 o 16 bits).  Por contra, los sistemas de codificación de ancho variable o multibyte, tratan los caracteres de forma parecida a lo que ocurre con los dato numéricos.  Es decir, que su representación no ocupa siempre el mismo espacio.  En estos sistemas existen caracteres cuya representación puede abarcar 1, 2, 3 o incluso 4 bytes.

La más conocida y famosa de estas tablas es la US-ASCII, que tiene 127 posiciones y es de ancho constante.  Aquí cada carácter se representa por un número cuya representación ocupa siempre 8 bits ( 2.2.1a).  La internacionalización de la informática, que empezó a manejar juegos de caracteres de otras culturas e idiomas distintos del inglés-americano, obligó a utilizar tablas más extensas, en las que rápidamente se sobrepasó la cantidad de 256 elementos (caracteres distintos), que es el máximo que puede expresarse con 8 bits (ver más adelante ).

§3.2c  Representación interna

También denominado formato físico.  Se refiere a la forma en que están representados los números en el sistema binario, único soportado por el ordenador.  Aquí se siguen dos estrategias.  La primera, más simple y uniforme, se aplica a los caracteres.  Estos se representan siempre por magnitudes binarias de igual longitud;  8 o 16 bits, según se trate de caracteres normales (estrechos) o anchos.  La segunda, más compleja y elaborada, corresponde a la representación de las magnitudes numéricas, para las que se utiliza un sistema de ancho variable bastante sofisticado que incluye varios subtipos.

La razón de esta complejidad es doble.  La primera de economía de espacio, de forma que, a costa de no poder representar determinados valores, algunas representaciones utilizan menos espacio [7].  Por ejemplo, un unsigned short no puede ser negativo ni mayor que 65,535;  a cambio puede ser almacenado en 16 bits.  Por contra, los números muy grandes o muy pequeños requieren mayores espacios de almacenamiento, hasta 80 bits ( 2.2.4).

Además de la anterior, razones de precisión, y de poder representar cantidades positivas y negativas, ha motivado la aparición de algunas variedades de representación (binarias desde luego) a cuyos detalles dedicamos un capítulo ( 2.2.4a).

Nota:  Aunque hayamos señalado que existen sistemas de codificación de ancho variable para los caracteres, como veremos a continuación, la representación interna de estos utiliza siempre un formato de ancho fijo, dejando la representación de ancho variable para almacenamientos externos y comunicaciones.

§3.2d  Codificación y representación externas.

Con frecuencia los programas tienen que habérselas con el mundo exterior, con el que deben intercambiar información.  Por ejemplo, determinados datos pueden ser leídos o escritos a un fichero de disco o a una línea de comunicación.  Es muy frecuente que, tanto el sistema de codificación como la representación del fichero utilizadas por el dispositivo, sean distintas de las utilizadas internamente por el programa.  El resultado es que debe efectuarse las correspondientes conversiones de código y de formato durante las operaciones de E/S.  Por ejemplo, mientras que en el programa, los caracteres están siempre representados por magnitudes numéricas de longitud fija (1 o 2 bytes), en los ficheros de disco y líneas de comunicación suelen utilizarse sistemas de codificación multibyte.  En los que los caracteres ocupan distinto ancho según el caso.

§4  Sistemas de representación numérica

En lo que sigue daremos un breve repaso a los distintos modos de representación simbólica utilizados para los datos numéricos, haciendo hincapié en los aspectos informáticos de la cuestión.

§4.1  Sistema decimal

En cuanto al problema de representar internamente cantidades numéricas, el sistema tradicional (el decimal con cero al que estamos acostumbrados), no es muy adecuado para los dispositivos electrónicos, puesto que aquí, al ser un sistema de base 10,  las variables (las cifras), pueden tener diez valores distintos (los guarismos 0 al 9 si utilizamos el sistema arábigo de numeración).

Recordemos que en este sistema, una cantidad cualquiera, por ejemplo 1798, en realidad se lee como:

1 x 103 + 7 x 102 + 9 x 101 + 8 x 100    ==    1 x 1000 + 7 x 100 + 9 x 10 + 8 x 1

  Observe la diferencia entre los diversos conceptos involucrados: El número o cantidad "mil setecientos noventa y ocho", su representación en el sistema decimal (1978) y las "cifras" o "guarismos" que componen su representación en este "sistema de numeración" (en este caso cuatro cifras: 1, 7, 8 y 9  colocadas en un cierto orden).

Desde la escuela primaria sabemos que este en este sistema, el valor de las cifras viene complementado por su posición en el conjunto (decimos que es posicional), de forma que el valor total de una expresión viene representado por el producto de su valor-base (0 a 9) multiplicado por la potencia de 10 que corresponda según su posición.  Al final se suman los resultados parciales.

Resulta así que en el sistema decimal, la cantidad mas alta que se puede representar mediante una cantidad de cuatro cifras, nnnn es, como máximo:

9 x 103 + 9 x 102 + 9 x 101 + 9 x 100   ==   9999    (10.000 si le añadimos el cero).

Es fácil verificar que un número decimal de n dígitos puede representar como máximo una cantidad igual a 10n.  En el caso del ejemplo, para 4 dígitos, 104 = 10000.  Observe que el mismo concepto (la misma cantidad) puede ser representada utilizando distintos sistemas de numeración, por ejemplo: MDCCXCVIII en números romanos (como dijimos, un sistema muy poco adecuado para las matemáticas).

§4.2  Sistema binario

El sistema binario puede representar igualmente cualquier cantidad basándose en cifras que solo pueden tener dos valores, 0 y 1 ().  El sistema es exactamente análogo al decimal, con la diferencia de las potencias; de 2 que es la nueva base (en vez de 10 como en aquel caso).  Por tanto, la cantidad binaria  11100000110  se lee:

1x210 + 1x29 + 1x28 + 0x27 + 0x26 + 0x25 + 0x24 + 0x23 + 1x22 + 1x21 + 0x20

Si el lector quiere "sacar la cuenta" verá que conduce igualmente a "mil setecientos noventa y ocho".

  Una magnitud que solo puede tener dos valores se denomina bit, abreviatura de "Binary digit" (dígito binario). Es la menor cantidad de información que puede concebirse.  Su abreviatura es b.  Por ejemplo: 10 Kb son 10.000 bits.  Resulta así, que un interruptor que puede estar encendido o apagado es (puede ser) un almacenamiento de 1 bit de información (basta con hacer corresponder "encendido" con uno de los valores y "apagado" con el otro).

El asunto es que estas variables "binarias" (que solo pueden adoptar dos valores distintos), son mucho mas adecuadas para su representación en dispositivos eléctricos, magnéticos y ópticos que las "decimales", por lo que es este el "formato" elegido para la representación y almacenamiento de datos numéricos en los ordenadores electrónicos digitales.  La capacidad de representación de este sistema es sin embargo menor que en el decimal, así, una cantidad binaria de 4 dígitos puede representar como máximo:

1 x 23 + 1 x 22 + 1 x 21 + 1 x 20  ==  15   (16 si añadimos el cero)


Es fácil verificar que, en este sistema de numeración, un número de n dígitos puede representar como máximo una cantidad igual a  2n  (en el caso del ejemplo, para 4 dígitos, 24 = 16).

La tabla adjunta expresa las cantidades que se obtienen con la unidad, seguida de cierto número n de ceros en los sistemas decimal y binario.  Lo que representa las potencias n de la base de numeración.  Es decir:  10n  o 2n.

Base 10

Número decimal

Base 2

Número binario

Equivalente decimal

100

1  

20

1  

1  

101

10  

21

10  

2  

102

100  

22

100  

4  

103

1000  

23

1000  

8  

104

10000  

24

10000  

16  

105

100000  

25

100000  

32  

106

1000000  

26

1000000  

64  

107

10000000  

27

10000000  

128  

108

100000000  

28

100000000  

256  

109

1000000000  

29

1000000000  

512  

1010

10000000000  

210

10000000000  

1024  

§4.3  Sistema Unario

Del mismo modo que las cifras del sistema binario pueden tener dos valores, las cifras de este sistema solo pueden tener uno.  Su representación puede ser cualquiera, 1, *, x, Etc.  Es el sistema de los hombres primitivos;  el método de representación de una cantidad se limita pintar un palote en la pared o añadir una cuenta a un collar para cada unidad (es también el sistema de numeración de los prisioneros de las películas en sus celdas).  En este sistema las cantidades 3 y 4 se representarían:

***  ****

Podríamos encontrar en cualquier texto una expresión como:  10110111 con la indicación de que no es un número binario sino unario.  En tal caso, sabemos que no es la representación del decimal 183, sino la representación de las cantidades 1, 2 y 3.  La verdad es que este sistema no se utiliza en informática a excepción de algunos supuestos teóricos.  Por ejemplo, en la máquina de Turing ( 0.1.1).

§4.4  Otros sistemas de representación numérica

Además del decimal y el binario (este último es el sistema "natural" del ordenador), en la literatura informática y en los fuentes de los programas se utilizan otras formas de numeración;  sobre todo para representar valores constantes ( 3.2.3b).  Son los sistemas  octal ( 2.2.4b); hexadecimal ( 2.2.4b) y BCD ( 0.1w1).

§5  Almacenamiento interno

Tradicionalmente el almacenamiento interno de los ordenadores se organiza desde el punto de vista lógico en grupos de 8 (o múltiplos de 8) cifras binarias (bits).  Estos conjuntos (octetos) son la menor cantidad de información que trata el ordenador con entidad propia; reciben el nombre de bytes y suele abreviarse con B.  Por ejemplo, 16 Kb y 16 KB. Se refieren a 16000 bits y 128.000 bits respectivamente [4].

Nota:  Hemos señalado que bit es abreviatura de Binary Digit, mientras que el nombre Byte fue acuñado en la década de los 50 por Werner Bushholz de la IBM;  la palabra  proviene de una mutación de "bit", hecha de forma que no hubiese confusión al pronunciarlas (bit y byte suenan muy distintas en inglés).

En ocasiones, además de los octetos, se utilizan agrupaciones de 4 bits, reciben el nombre de nibble.   Así que 2 nibbles == 1 Byte.

Podemos usar un símil para entenderlo:  aunque nuestro alfabeto tiene 26 caracteres no solemos utilizarlos aislados.  Para que tengan significado se utilizan en grupos (palabras).  Los ordenadores utilizan también palabras, solo que estas son siempre de la misma longitud (8, 16, 32 o 64 bits según el modelo de procesador).

Según lo anterior, un octeto (una "palabra" de 8 bits), 1 Byte, puede contener un número de hasta  28 = 256, lo que deriva en que si reservamos una palabra de 8 bits para "describir" (contener) una variable, sabemos de antemano que dicha variable no va a poder adoptar más de 256 estados distintos.  Esto, unido al hecho de que la forma de representación interna utiliza el sistema binario y los elementos y circuitos físicos son igualmente binarios (pueden adoptar solo dos estados), hacen que las potencias de dos: 8, 16, 32, 64 Etc. sean "números mágicos" en el mundo de las computadoras.


  Temas relacionados:

  • Tipos básicos:  Representación interna y rango ( 2.2.4)
  • Representación binaria de las cantidades numéricas  ( 2.2.4a)
  • Orden de almacenamiento ( 2.2.6a).
  • Alineación interna ( 4.6.1)

  Inicio.


[1]  George Boole (1815-1864).  Matemático inglés cuyos trabajos teóricos sobre conjuntos de números binarios (que solo pueden adoptar dos valores), ayudó a establecer las bases de la moderna lógica simbólica.  Su álgebra de la lógica binaria es también denominada álgebra Booleana.

[2]  Nos referimos a las lenguas o lenguajes "Naturales" en contraposición a los "Artificiales" utilizados en informática.  Los primeros han sido inventados espontáneamente por el hombre (a excepción del Esperanto) y son el resultado de mutaciones que se pierden en la noche de los tiempos.  Los segundos han sido y están siendo inventados por los informáticos para comunicarse con los ordenadores (computadoras).

[3]  Ya se está experimentando con olores.  Creo que incluso existe alguna patente al respecto.

[4]  Por supuesto byte puede escribirse con mayúscula y minúscula, pero es costumbre informática utilizar la mayúscula -Byte-, mientras que bit siempre con minúscula.  En mis tiempos -cuando la gente denominaba a estos cacharros "cerebros" electrónicos- era pecado mortal no hacerlo así, de forma que ante una expresión xxx KB o yyy Kb todo el mundo sabía a que atenerse.

[5]  Ahora que el asunto parece estar de moda, digamos que no solo debemos a la cultura Islámica las cifras numéricas, incluso muchos textos clásicos han llegado hasta nosotros a través del Islam.  También conocimientos de astronomía y medicina.

[6]  Existe un tercer grupo de ficheros, los ejecutables, que se correspondería con lo que hemos denominado algoritmos (instrucciones) y que podrían considerarse dentro del grupo de los binarios.  Además de los citados, pueden existir otros tipos, como directorios y ficheros de dispositivo.  Estos últimos son artificios utilizados por el Sistema Operativo.  Los ficheros de directorio sirven para organizar el contenido del disco en carpetas y subcarpetas.  Los ficheros de dispositivo representan la interfaz de los periféricos controlados por el SO.

[7]  Lo contrario obligaría a reservar para "todos" los datos numéricos, el espacio correspondiente al mayor de ellos (máxima entidad numérica soportada por el programa).

[8]  A menudo es un problema conocer la naturaleza de los ficheros que encontramos en nuestro sistema.  Cuando esto no es posible, puede intentarse, al menos, conocer el tipo o familia a que pertenece un fichero determinado por su terminación. Entre los sitios que podrían citarse, recomendaré dos:  Filext y File-Extensions Org. Ambos contienen una extensa base de datos y toneladas de información al respecto.

[9]  Incluso en publicaciones muy autorizadas, es frecuente ver como se confunden los términos digital y binario, tomándolos como sinónimos cuando en realidad no lo son (los dígitos no tienen porqué ser binarios).  Como hemos señalado, pueden existir ordenadores digitales de lógica ternaria o de más estados. Por ejemplo, decimal.  ENIAC, considerado como el primer ordenador digital electrónico de cálculo numérico ( A2.1), tenía una arquitectura decimal, de forma que la representación interna de los números no era binaria.

[10]  Lo anterior no es cierto en UNIX, donde tradicionalmente los ficheros no tienen terminación específica.  En cuanto a Microsoft, los sistemas de archivo de sus Sistemas Operativos no reconocen diferencias entre Mayúsculas/minúsculas en los nombres de ficheros, de forma que la técnica de utilizar una terminación de tres caracteres para determinar el tipo de un fichero -lo que se conoce como TLA  "Tree Letter Acronym"- tiene el problema de que solo permite 17.576 ATL únicos suponiendo las letras del alfabeto inglés americano.