- Coma fija
-
Estos sistemas consisten en destinar una cantidad fija de dígitos para la parte entera y otra para la parte fraccionaria. La cantidad de dígitos destinados a la parte fraccionaria indica en definitva la posición de la coma dentro del número. Esta posición, que es siempre fija, la podemos indicar con un factor de escala implícito que ubica la coma en el lugar requerido. Es decir, podemos representar un número fraccionario como un número entero multiplicado por un factor de escala. En general, el factor de escala puede ser arbitrario e indica cuál es la longitud del intervalo que separa dos representaciones consecutivas, por ejemplo: dn-1dn-2…d0,d-1d-2…d-m=dn+m-1…d0 · b-m.
Cabe aclarar que esta longitud es siempre fija para cualquier par de representaciones consecutivas en todo el rango de representación. En este sistema, el programador debe modificar el factor de escala cuando alguna operación produce un resultado fuera del rango de representación. Por ejemplo: si la suma de dos números en punto fijo produce acarreo, se debe modificar el factor de escala si no se quiere perder significación en el resultado. Esto implica modificar el factor de escala de todos los números en punto fijo que utiliza el programa con la consecuente pérdida de precisión. Estos sistemas de representación ofrecen un rango y una precisión limitados.
Con este sistema se representan los enteros desde el -(2n − 1-1) hasta el (2n − 1-1), siendo n el número de bits. Por tanto el rango de representación es [-2n − 1+1, 2n − 1-1] y la resolución es de “1″. El “cero” presenta las dos representaciones 000…00 y 100…00, lo que a veces genera dificultades.
Este sistema presenta un cierta dificultad al operar con sumas y restas. El computador debe analizar el signo de los operadores para decidir la operación que tiene que hacer. Así, si la operación es una suma, pero uno de los operadores es negativo, se ha de cambiar por una resta. Por el contrario, las operaciones de multiplicar y dividir se tratan sin dificultad, operándose, por un lado, con las magnitudes, y por otro, con los signos.
Con un sistema numérico posicional es posible representar números reales.
La posición de la coma (coma decimal en base diez) es la que fija la potencia de la base por la que hay que multiplicar el dígito correspondiente.
- Por ejemplo, el valor de los siguientes números, todos ellos representados con 8 bits:
- 10101,110 = 1×24 + 0×2³ + 1×2² + 0×2¹ + 1×20 + 1×2-1 + 1×2-2 + 0×2-3 = 21,7510
- 01001,011 = 0×24 + 1×2³ + 0×2² + 0×2¹ + 1×20 + 0×2-1 + 1×2-2 + 1×2-3 = 9,37510
La representación anterior recibe el nombre de coma fija, ya que con los 8 bits hemos fijado y reservado 5 para la parte entera y 3 para la fraccionaria. En los anteriores ejemplos la coma está fija y sirve para separar la parte entera de la parte fraccionaria.
Al usar la notación en coma fija, queda muy limitado el número de cantidades a representar y todas ellas deben tener la misma resolución.
En el caso anterior no podremos representar números enteros mayores o iguales que 32 (25) ni números más pequeños que 0,125 (2-3). Debido a este problema, su uso se vio reducido con la aparición de la representación en coma flotante.
Véase también
Enlaces externos
Categoría:- Aritmética computacional
Wikimedia foundation. 2010.