Representación de Números: Punto Fijo

Punto Fijo (Coma Fija)

Es una forma de notación científica que se basa en destinar cierta cantidad de dígitos a la parte entera de un numero y otra cantidad a su parte fraccionaria. Se utiliza normalmente cuando se desea rendimiento mas que precisión, debido a que es mas rápida que el punto flotante. El punto fijo puede representar números entre siendo "n" el numero de bits que tiene el numero. Cabe destacar que esta representación solo puede usarse con números que presentan parte fraccionaria. Un ejemplo de un numero que puede ser representado es: 1001,101(binario).

¿Como se representa?

Punto Binario


Para poder representar los números con punto fijo debemos recordar lo siguiente:
El numero binario 110101 representa el valor 1 * 25 + 1 * 24 + 0 * 23 + 1 * 22 + 0* 21 + 1 * 2
en decimal. La clave para poder usar este proceso en los números con parte fraccionaria es el punto binario (funciona como el punto decimal). Los bits que contiene el numero se dividen entre el lado entero y el lado fraccionario. Cuando se termina la cuenta del lado entero se coloca el punto binario y los que quedan a la derecha (parte fraccionaria) presentan un peso de 2-1, 2-2, 2-3 y así continua hasta llegar a su limite de bits.

Ejemplo: 11010,100

Como podemos ver se separaron los bits, 5 en el lado entero y 3 en el lado fraccionario.


Se puede notar que después del punto binario se empieza a usar los bits del lado fraccionario y los exponentes se ponen negativos.


Representación Punto Fijo

Para representar el numero solo necesitaremos de un arreglo y de el numero en forma entera sin ningún punto o coma en el. La presentación del arreglo se puede manejar como fixed<w,b> y esta formada por dos parámetros:

w = cantidad total de bits que contiene el numero
b = bits que tiene el lado fraccionario (para saber donde posicionar el punto)

Ahora si deseamos usarla solo debemos tomar un numero y usar el arreglo. Para el siguiente ejemplo usaremos el numero 1001101(binario).

Si utilizamos fixed<7,3> el numero representado seria:
1001,101

Pero si utilizamos fixed<7,4> el numero representado cambia a ser:
100,1101


Ejemplo de una representación fixed<8,4>(Ingles)


Ventajas y Desventajas

Su ventaja principal es que permite tratar números con parte fraccionaria como si fueran solo enteros y ademas es mucho mas rápido que el punto flotante, sin embargo se pierde precisión.

Una de sus desventajas es que su cantidad de números es limitada debido a que esta ligada al numero de bits que se tienen. Por ejemplo si se esta usando un total de 4 bits no se podrá representar 25 .

A causa de estas ventajas y desventajas es que el programador debe decidir si usar punto fijo o punto flotante, dependiendo si se necesita rendimiento o precisión.


Referencias

Hayden So. (28/2/2006).Introduction to Fixed Number Representation. BerkleyEdu. Recuperado de http://www-inst.eecs.berkeley.edu/~cs61c/sp06/handout/fixedpt.html

Desconocido. (24/02/2009). Sistemas Numericos: Coma Fija y Coma Flotante. Blogger. Recuperado de http://mamenpds.blogspot.com/2009/02/sistemas-numericos-coma-fija-y-coma_24.html

Comentarios

Entradas populares de este blog

Arquitectura del Set de Instrucciones y Conjunto de Instrucciones

Explicación de código para contar letras - Simple