|
|
||
| PRIMERO DE INGENIEROS INDUSTRIALES | ||
| UNIVERSIDAD POLITÉCNICA DE CARTAGENA |
FUNDAMENTOS DE INFORMÁTICA. PROGRAMACIÓN EN C. |
|
|
Pedro María Alcover Garau |
PRIMERO DE INGENIEROS TÉCNICOS INDUSTRIALES |
|
|
0.
Presentación. |
CODIFICACIÓN NUMÉRICA
Los números significan y codifican cantidades.
En la línea inmediatamente anterior hemos dibujado una serie de puntos negros. Cuántos son esos puntos es una cuestión que en nada depende del sistema de numeración. En nuestro sistema habitual de codificación numérica (base 10) diremos que tenemos 7 puntos. Si trabajáramos en base binaria, o base dos, diríamos que tenemos 111 puntos. Lo importante es que tanto la codificación 7 (en base diez) como la codificación 111 (en base dos) significan la misma cantidad. Y es que trabajar en base 10 no es la única manera de codificar cantidades. Ni tampoco es necesariamente la mejor.
Fundamentos matemáticos para un sistema de numeración. Bases, dígitos y cifras.
Todo número viene expresado en una base Una base es un conjunto finito y ordenado de signos.
Sus propiedades pueden resumirse en las tres siguientes: · El primer elemento de la base es el cero. · Los sucesivos elementos ordenados de la base son tales que cualquier elemento es igual a su inmediato anterior más uno. · El máximo valor de la base es igual al cardinal de la base menos uno.
La base
En cada base, todo número entero
donde
A los coeficientes
Cualquier número viene
representado, en una base determinada, por una serie única de coeficientes
En una cifra importa tanto la posición relativa de cada
dígito dentro de ella, como el valor de cada uno de esos dígitos. Cuanto
más larga pueda ser la serie de dígitos que se emplean para codificar,
mayor será el rango de números que podrán ser representados. Por ejemplo,
en base Como se sabe, y como se desprende de esta forma de codificación, todo cero a la izquierda de estos dígitos supone un nuevo dígito que no aporta valor alguno a la cantidad codificada.
La
expansión del número recoge el valor de cada dígito y su peso dentro de la
cifra. El dígito
Todos
los dígitos posteriores a la posición De todo lo dicho ahora se deduce que toda base es, en su sistema de numeración, base 10: Dos, en base binaria se codifica como 10; tres, en base 3, se codifica como 10; cuatro, en base 4, se codifica como 10…
Sistemas de numeración habituales en la informática El sistema de numeración más habitual en nuestro mundo es el sistema decimal. Si buscamos un porqué a nuestra base 10 quizá deduzcamos que su motivo descansa en el número de dedos de nuestras dos manos. Pero un ordenador no tiene manos. Ni dedos. Como hemos visto en el capítulo anterior, el circuito electrónico básico de la memoria de los ordenadores, tal como hoy se conciben, está formado por una gran cantidad de circuitos electrónicos que tiene dos estados estables posibles. ¿Cuántos estados posibles?...: DOS. Por eso, porque los ordenadores “sólo tienen dos dedos”, es por lo que ellos trabajan mejor en base dos. Es decir, sólo disponen de dos elementos para codificar cantidades. El primer elemento, por definición de base, es el valor cero. El segundo (y último) es igual al cardinal de la base menos uno y es igual al primer elemento más uno. Esa base está formada, por tanto, por dos elementos que llamaremos:
Otras bases muy utilizadas en programación (y que uso muy extendido en lenguajes de bajo nivel como el lenguaje C) son la base octal (o base ocho) y la base hexadecimal (o base dieciséis). Lo de la base hexadecimal puede llevar a una inicial confusión porque no nos imaginamos qué dígitos podemos emplear más allá del dígito nueve. Para esa base se extiende el conjunto de dígitos haciendo uso del abecedario:
Sistema Binario Aprender a trabajar en una base nueva no está exento de cierta dificultad. Habría que echar mano de nuestra memoria, de cuando éramos infantes y no sabíamos contar. No nos resultaba sencillo saber qué número viene (en base diez) después del noventa y nueve. Noventa y ocho,… Noventa y nueve,… Noventa y diez. ¡No!: cien. Trabajemos en base diez:
y… ¿en base dos?: después de cero el uno. Y después del uno… ¡el diez!
En ambos cuadros están codificadas las mismas cantidades. En base diez el primero, en base dos o base binaria el segundo. Además de contar, es necesario aprender las operaciones matemáticas básicas. Al menos sumar y restar. De nuevo hay que volver a la infancia y aprender la aritmética básica de los clásicos cuadernos de sumas. Las reglas básicas para esas dos operaciones son:
Y así, se puede practicar con sumas de enteros de más o menos dígitos:
Para las restas haremos lo mismo que cuando restamos en base diez: el minuendo siempre mayor que el sustrayendo: en caso contrario se invierten los valores y al resultado le cambiamos el signo:
Cambio de Base Las cantidades que se codifican no dependen del sistema de codificación. Antes hemos visto los treinta primeros números naturales (comenzando por el cero) codificados en base diez y en base dos. ¿Cómo obtener, a partir de una cantidad codificada en base dos, su codificación en base diez? ¿Y viceversa? Paso de base dos a base diez: Para este cambio de base es suficiente con desarrollar la expansión del número. Por ejemplo:
Paso de base diez a base dos: Para este cambio se divide el entero por dos (división entera), y se repite sucesivamente esta división hasta llegar a un cociente menor que la base. Simplemente vamos dividiendo por la base el número original y vamos repitiendo el procedimiento para los cocientes que vamos obteniendo.
Los restos de estas
divisiones, y el último cociente, son los dígitos buscados (siempre
deberán estar entre 0 y Por ejemplo, en el ejemplo recogido en el cuadro 2.1. vemos que el valor 157 expresado en base diez es, en base dos, 10011101.
|