25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1.9 Procedure Intrinseche 77<br />

I valori di b e di p , emin ed emax determinano l’insieme dei dati reali supportati dal processore.<br />

<strong>Il</strong> parametro b è chiamato radice (o base) del sistema di numerazione utilizzato per rappresentare<br />

i numeri reali su un dato processore. Praticamente tutti i moderni processori usano un<br />

sistema a 2 bit, sicché b vale 2 e ciascun termine fk può valere 0 oppure 1 (fatta eccezione per<br />

f1 che può valere solo 1).<br />

I bit utilizzati per rappresentare un numero reale sono divisi in due gruppi: uno per la<br />

mantissa (la parte intera del valore) e l’altro per l’esponente. Per un sistema in base 2, p<br />

rappresenta il numero di bit per la mantissa mentre e è compreso in un intervallo rappresentabile<br />

con un numero di bit pari a quello dell’esponente diminuito di un’unità.<br />

A titolo di esempio, per una tipica rappresentazione di reali in singola precisione a 32 bit<br />

su un processore con base 2, il modello reale diventa:<br />

x =<br />

dove ciascun fk può valere 0 o 1.<br />

BIT_SIZE(I)<br />

0<br />

±2 e × 1<br />

2 + 24<br />

k=2 fk × 2 −k , − 126 ≤ e ≤ 127<br />

Restituisce il numero di bit occupati dall’argomento I nella specifica implementazione, essendo<br />

I un oggetto di tipo INTEGER.<br />

DIGITS(X)<br />

Restituisce il numero di cifre significative di X. A seconda che l’argomento X sia di tipo REAL o<br />

di tipo INTEGER, il numero restituito sarà rappresentativo del valore di q o di p dei modelli di<br />

rappresentazione precedentemente citati.<br />

Si noti che questa funzione restituisce il numero di cifre significative nella base di numerazione<br />

usata dal processore; se, come spesso accade, questa base è 2, la funzione fornisce il<br />

numero di bit significativi. Se, invece, si è interessati a conoscere il numero di cifre decimali<br />

significative, si dovrà fare uso della funzione PRECISION(X).<br />

EPSILON(X)<br />

Restituisce quel numero che sommato a 1.0 produce il valore immediatamente successivo<br />

fra quelli rappresentabili sulla macchina in uso e per quel particolare parametro di kind.<br />

L’argomento deve essere di tipo REAL e può avere kind qualsiasi.<br />

EXPONENT(X)<br />

Fornisce l’esponente di X nella base di numerazione adottata dal processore. L’argomento deve<br />

essere di tipo REAL. <strong>Il</strong> valore fornito rappresenta il termine e del modello di rappresentazione<br />

dei reali.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!