El usuario se comunica con la computadora en sistema decimal, es decir, introduce en ella y extrae de ella números en base decimal. Al recibir los datos, para poder trabajar con ellos, la computadora los convierte al sistema binario, su lenguaje natural de operación. Todas las operaciones se efectúan en binario y los resultados obtenidos, antes de ser entregados al usuario, la máquina los convierte al sistema decimal. Claro está que la computadora realiza estos procesos a enormes velocidades, de manera que el usuario ni se entera de lo que sucede ahí dentro.
Sin embargo, al efectuar las conversiones y realizar los cálculos se suscitan pequeños errores que, si no se prevén, pueden propagarse y arrojar resultados muy inexactos o totalmente absurdos. Por eso es tan importante el entender la aritmética de las computadoras e identificar las situaciones en que pueden ocurrir errores severos.
La operación interna de una computadora se basa en la aritmética binaria, en la que la base es el 2 y sólo hay dos símbolos: 0 y 1, pues la memoria de la máquina consiste en un vasto número de dispositivos de registro magnético y electrónico, cada uno de los cuales sólo puede presentar uno de dos posibles estados: magnetizado en un sentido, representando al cero, o magnetizado en el otro sentido, representando al uno. Cada dispositivo magnético es un dígito binario, denominado bit (abreviatura de "binary digit").
Los bits se agrupan en unidades llamadas palabras, las cuales pueden contener 8, 16, 32 o 64 bits, dependiendo de la computadora de que se trate (los tamaños de palabra más usuales son los de 16 o de 32 bits). También se utilizan otras unidades denominadas bytes, constituidos generalmente por 8 bits, y utilizados como particiones de palabras, para representar caracteres. Así, por ejemplo, una palabra de 32 bits consta de 4 bytes.
La manera en que se usan los bits para registrar los números enteros y los números fraccionarios, varía en función del diseño de la computadora
Representación Numérica en una base
Dado un número
, su representación en una dada base
consiste en escribirlo como
donde el signo
es igual a 0 o 1 y los coeficientes
son enteros positivos menores que
. En la vida real la suma tiene sólo un número finito de términos por lo que algunos números son sólo representados en forma aproximada. Usualmente, utilizamos el sistema decimal de numeración (
) pero la representación numérica en sistemas digitales se realiza en general en base 2, denominado sistema de numeración binaria, y ocasionalmente en base 16 (sistema hexadecimal). Los números se representan en memoria como una cadena de bits que pueden tomar los valores 0 ó 1. Se denomina byte a un grupo de 8 bits consecutivos.
En general los ordenadores digitales trabajan con un número fijo (finito) de posiciones, la longitud de palabra, cuando representan un número internamente. Esta longitud n depende de la máquina, y además algunas permiten extensiones a múltiplos enteros de n (2n, 3n, ...) que posibilitan una mayor exactitud si se necesita. Una palabra de longitud n se puede utilizar de distintas formas para representar un número:
La representación de punto fijo: especifica un número fijo n1 de lugares enteros, y un número fijo n2 de decimales, de modo que n = n1+n2. En esta representación, la posición del punto decimal está fija y son pocos los dispositivos que la utilizan (ciertas máquinas de calcular, o máquinas de tipo comercial).
La representación en punto flotante: La posición del punto decimal con respecto al primer dígito se expresa con un número separado, denominado exponente. Así se obtiene la notación científica:
x = a*(b)^t; con |a| < 1; b ϵ N ; t ϵ Z
donde b es la base del sistema de numeración, t es un exponente llamado característica y a se llama la mantisa. Además si |a| ≥ b^-1, es decir que el primer dígito después del punto raíz no es cero, se dice que la representación es normalizada.
Naturalmente, en un ordenador digital sólo se dispone de un número finito de posiciones para representar un número (n, la longitud de la palabra), por lo que cada ordenador tendrá reservadas m posiciones para la mantisa y c posiciones para la característica (n = m + c).
Son dígitos significativos de un número todos los dígitos de la mantisa sin contar los primeros ceros.
Los números m y c, junto con la base b de la representación de un número, determinan un conjunto A C R de números reales que se pueden representar de forma exacta en una máquina; estos números se denominan números de la máquina.
Aritmética de Punto Flotante
Además de dar una representación inexacta de los números, la aritmética realizada en la computadora no es exacta. Sin embargo, usando números con representación en punto flotante con m dígitos de mantisa, las operaciones aritméticas elementales no se pueden siempre ejecutar de manera exacta, y los resultados de las operaciones no necesariamente son números de la máquina aunque los operandos lo sean. Por ello no se puede esperar reproducir de forma exacta las operaciones aritméticas en un ordenador digital.
Deberemos contentarnos con sustituirlas por otras llamadas operaciones de punto flotante, que las aproximen tanto como sea posible. Esto se puede conseguir, por ejemplo, definiéndolas con la ayuda del redondeo:
Esta aritmética idealizada corresponde a efectuar la aritmética exacta en la representación del punto flotante de x e y, y luego a la conversión del resultado exacto a su representación de punto flotante.
BIBLIOGRAFÍA