Representación en Punto Flotante

Introducción

En este artícu­lo vamos a ver qué es pun­to flotante y cómo se rep­re­sen­tan val­ores con dec­i­males uti­lizan­do este sistema.

La rep­re­sentación por pun­to flotante (o coma flotante) es una for­ma de escribir un número dec­i­mal que se ase­me­ja a la notación cien­tí­fi­ca. Esto nos per­mite rep­re­sen­tar y oper­ar con números muy grandes y tam­bién con números muy pequeños (con muchos decimales).

El están­dar de cóm­puto en pun­to flotante se describe en la nor­ma IEEE 754.

VÍDEOS DEL CANAL CON MÁS BÚSQUEDAS

DE UNITY

DE BLENDER

Estructura de un número en punto flotante

Este sis­tema de rep­re­sentación uti­liza una deter­mi­na­da can­ti­dad de dígi­tos bina­rios depen­di­en­do el tipo de pre­cisión (común­mente 16, 32, 64 y 128 bits).

Un bit es des­ti­na­do al sig­no, es decir si ese bit vale 0 se tra­ta de un número pos­i­ti­vo, si vale 1 es un número negativo.

Los bits restantes se reparten en la rep­re­sentación de los dec­i­males (se suele lla­mar man­ti­sa) y el exponente.

    \[      \boxed{n = (-1)^s . 2^{(e-127)} . (1+m)}\]

En la expre­sión n es el número dec­i­mal a representar. 

La letra s es el bit des­ti­na­do al sig­no (si s vale 0 la expre­sión (-1) ele­va­do a la 0 resul­ta en 1 positivo).

La letra e es el expo­nente y m es la mantisa.

Pasar números decimales a punto flotante

1- Tomamos el número a rep­re­sen­tar, sep­a­ramos el sig­no y escribi­mos el val­or abso­lu­to en base 2.

2- El val­or abso­lu­to en base 2 se escribe en notación cien­tí­fi­ca en base 2 normalizada.

3- El expo­nente se expre­sa en notación en exce­so (depen­derá del tipo de pre­cisión que se elija).

4- El coe­fi­ciente se escribe en la man­ti­sa sin la parte entera, ya que la nor­mal­ización en el paso 2 obliga a que la parte entera de la man­ti­sa sea 1, alma­ce­narla no apor­ta información.

Error de Truncamiento del sistema Punto Flotante

El error de trun­camien­to se pro­duce al tomar una cier­ta can­ti­dad de dígi­tos de un número y dejar de lado los demás.

Pense­mos en el número π (3.14159265…), el cual es un número irra­cional que tiene infini­tos dígitos.

Las com­puta­do­ras no pueden alma­ce­nar infini­ta infor­ma­ción en la memo­ria porque se nece­si­taría una memo­ria infini­ta­mente grande, de modo que en algún pun­to se debe parar.

Si a π , le trun­camos toda la parte dec­i­mal y nos quedamos sólo con el 3, estare­mos come­tien­do un error de aprox­i­mada­mente el 4.5% rel­a­ti­vo al val­or real de π . Si en cam­bio ten­emos en cuan­ta los dos primeros dec­i­males de π, nos quedamos con 3.14. En este caso estare­mos come­tien­do un error de aprox­i­mada­mente el 0.05% rel­a­ti­vo al val­or real de π.

Este error ocur­rirá en el sis­tema de pun­to flotante ya sea porque quer­e­mos rep­re­sen­tar número irra­cionales o porque el dec­i­mal que quer­e­mos rep­re­sen­tar se vuelve irra­cional al pasar­lo al sis­tema bina­rio (ejem­p­lo 0.1 dec­i­mal tiene infini­tos dígi­tos al pasar­lo a binario).

1 comentario en “Representación en Punto Flotante”

  1. Pingback: { Qué es una VARIABLE en programación? } - BOOL INT FLOAT

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Scroll al inicio
Secured By miniOrange