top of page



Representación de Números Enteros

Aritmética de computadores

Los computadores no almacenan los números con precisión infinita sino de forma aproximada empleando un número fijo de bits o bytes (grupos de ocho bits). Prácticamente todos las computadoras permiten al programador elegir entre varias representaciones o 'tipos de datos'. Los diferentes tipos de datos pueden diferir en el número de bits empleados, pero también (lo que es más importante) en cómo el número representado es almacenado: en formato fijo (también denominado 'entero') o en punto flotante (denominado 'real').

Aritmética de punto fijo

Un entero se puede representar empleando todos los bits de una palabra de computadora, con la salvedad de que se debe reservar un bit para el signo. Por ejemplo, en una máquina con longitud de palabra de 32 bits, los enteros están comprendidos entre -(231 - 1) y 231 - 1 = 2147483647. Un número representado en formato entero es 'exacto'. Las operaciones aritméticas entre números enteros son también 'exactas' siempre y cuando:

  1.  

  2. La solución no esté fuera del rango del número entero más grande o más pequeño que se puede representar (generalmente con signo). En estos casos se dice que se comete un error de desbordamiento por exceso o por defecto (en inglés: Overflow y Underflow) y es necesario recurrir a técnicas de escalado para llevar a cabo las operaciones.

  3. La división se interpreta que da lugar a un número entero, despreciando cualquier resto.

Por estos motivos, la aritmética de punto fijo se emplea muy raramente en cálculos no triviales.

 

Notación Científica Normalizada

En el sistema decimal, cualquier número real puede expresarse mediante la denominada Notación científica normalizada. Para expresar un número en notación científica normalizada multiplicamos o dividimos por 10 tantas veces como sea necesario para que todos los dígitos aparezcan a la derecha del punto decimal y de modo que el primer dígito después del punto no sea cero. Por ejemplo:

Para ver la fórmula seleccione la opción "Descargar" del menú superior

En general, un número real x distinto de cero, se representa en notación científica normalizada en la forma:

 Para ver la fórmula seleccione la opción "Descargar" del menú superior

Exactamente del mismo modo podemos utilizar la notación científica en el sistema binario. En este caso, tenemos que:

 Para ver la fórmula seleccione la opción "Descargar" del menú superior


Donde m es un entero. El número q se denomina mantisa y el entero m exponente. En un ordenador binario tanto q como m estarán representados como números en base 2. Puesto que la mantisa q está normalizada, en la representación binaria empleada se cumplirá que:

 Para ver la fórmula seleccione la opción "Descargar" del menú superior

Representación de los números en punto flotante

En un ordenador típico los números en punto flotante se representan de la manera descrita en el apartado anterior, pero con ciertas restricciones sobre el número de dígitos de q y m impuestas por la longitud de palabra disponible (es decir, el número de bits que se van a emplear para almacenar un número). Para ilustrar este punto, consideraremos un ordenador hipotético que denominaremos MARC-32 y que dispone de una longitud de palabra de 32 bits (muy similar a la de muchos ordenadores actuales). Para representar un número en punto flotante en el MARC-32, los bits se acomodan del siguiente modo: 


 

2.2.2 REPRESENTACIÓN DE LA INFORMACIÓN EN MEMORIA

En la mayoría de los cálculos en punto flotante las mantisas se normalizan, es decir, se toman de forma que el bit más significativo (el primer bit) sea siempre '1'. Por lo tanto, la mantisa q cumple siempre la ecuación (3).

Dado que la mantisa siempre se representa normalizada, el primer bit en q es siempre 1, por lo que no es necesario almacenarlo proporcionando un bit significativo adicional. Esta forma de almacenar un número en punto flotante se conoce con el nombre de técnica del 'bit fantasma'.

Se dice que un número real expresado como aparece en la ecuación (2) y que satisface la ecuación (3) tiene la forma de punto flotante normalizado. Si además puede representarse exactamente con |m| ocupando 7 bits y |q| ocupando 24 bits, entonces es un número de máquina en el MARC-32

.

La restricción de que |m| no requiera más de 7 bits significa que:

 Para ver la fórmula seleccione la opción "Descargar" del menú superior

Por ejemplo: 0.5 representado en punto flotante en el MARC-32 (longitud de palabra de 32 bits) se almacena en la memoria del siguiente modo:

 Para ver la fórmula seleccione la opción "Descargar" del menú superior

Solución: El número 26.32 en binario se escribe del siguiente modo:

 Para ver la fórmula seleccione la opción "Descargar" del menú superior

Si expresamos el error como la diferencia entre el valor y el número realmente almacenado en el ordenador, obtenemos:

 

 Para ver la fórmula seleccione la opción "Descargar" del menú superior

Antes de entrar con detalle en la aritmética de los números en punto flotante, es interesante notar una propiedad de estos números de especial importancia en los cálculos numéricos y que hace referencia a su densidad en la línea real. Supongamos que p, el número de bits de la mantisa, sea 24.

 

 Para ver la fórmula seleccione la opción "Descargar" del menú superior

 

bottom of page