02.07.2014 Views

Intel(R) Fortran Compiler for Linux* Systems User's Guide Volume I ...

Intel(R) Fortran Compiler for Linux* Systems User's Guide Volume I ...

Intel(R) Fortran Compiler for Linux* Systems User's Guide Volume I ...

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.

<strong>Intel</strong>® <strong>Fortran</strong> <strong>Compiler</strong> <strong>for</strong> <strong>Linux*</strong> <strong>Systems</strong> <strong>User's</strong> <strong>Guide</strong>, <strong>Volume</strong> I: Building<br />

Applications<br />

Native IEEE* Floating-Point Representations<br />

Native IEEE* Floating-Point<br />

Representations Overview<br />

The REAL(4) (IEEE* S_floating), REAL(8) (IEEE T_floating), and REAL(16)<br />

(IEEE-style X_floating) <strong>for</strong>mats are stored in standard little endian IEEE binary<br />

floating-point notation. (See IEEE Standard 754 <strong>for</strong> additional in<strong>for</strong>mation about<br />

IEEE binary floating point notation.) COMPLEX() <strong>for</strong>mats use a pair of REAL<br />

values to denote the real and imaginary parts of the data.<br />

All floating-point <strong>for</strong>mats represent fractions in sign-magnitude notation, with the<br />

binary radix point to the right of the most-significant bit. Fractions are assumed to<br />

be normalized, and there<strong>for</strong>e the most-significant bit is not stored (this is called<br />

"hidden bit normalization"). This bit is assumed to be 1 unless the exponent is 0.<br />

If the exponent equals 0, then the value represented is denormalized<br />

(subnormal) or plus or minus zero.<br />

Intrinsic REAL kinds are 4 (single precision), 8 (double precision), and 16<br />

(extended precision), such as REAL(KIND=4) <strong>for</strong> single-precision floating-point<br />

data. Intrinsic COMPLEX kinds are also 4 (single precision), 8 (double precision),<br />

and 16 (extended precision).<br />

To obtain the kind of a variable, use the KIND intrinsic function. You can also use<br />

a size specifier, such as REAL*4, but be aware this is an extension to the <strong>Fortran</strong><br />

95 standard.<br />

If you omit certain compiler options, the default sizes <strong>for</strong> REAL and COMPLEX<br />

data declarations are as follows:<br />

• For REAL data declarations without a kind parameter (or size specifier),<br />

the default size is REAL (KIND=4) (same as REAL*4).<br />

113

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

Saved successfully!

Ooh no, something went wrong!