05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Application Level Programmers’ Model<br />

A2.7.3 VFP double-precision format<br />

The double-precision floating-point format used by the VFP extension is as defined by the IEEE 754<br />

st<strong>and</strong>ard.<br />

This description includes VFP-specific details that are left open by the st<strong>and</strong>ard. It is only intended as an<br />

introduction to the formats <strong>and</strong> to the values they can contain. For full details, especially of the h<strong>and</strong>ling of<br />

infinities, NaNs <strong>and</strong> signed zeros, see the IEEE 754 st<strong>and</strong>ard.<br />

A double-precision value consists of two 32-bit words, with the formats:<br />

Most significant word:<br />

31 30 20 19 0<br />

S exponent fraction[51:32]<br />

Least significant word:<br />

31 0<br />

fraction[31:0]<br />

When held in memory, the two words must appear consecutively <strong>and</strong> must both be word-aligned. The order<br />

of the two words depends on the endianness of the memory system:<br />

In a little-endian memory system, the least significant word appears at the lower memory address <strong>and</strong><br />

the most significant word at the higher memory address.<br />

In a big-endian memory system, the most significant word appears at the lower memory address <strong>and</strong><br />

the least significant word at the higher memory address.<br />

Double-precision values represent numbers, infinities <strong>and</strong> NaNs in a similar way to single-precision values,<br />

with the interpretation of the format depending on the value of the exponent:<br />

0 < exponent < 0x7FF<br />

The value is a normalized number <strong>and</strong> is equal to:<br />

–1S × 2exponent–1023 × (1.fraction)<br />

The minimum positive normalized number is 2 –1022, or approximately 2.225 × 10 –308.<br />

The maximum positive normalized number is (2 – 2 –52 ) × 21023 , or approximately<br />

1.798 × 10308 .<br />

exponent == 0<br />

The value is either a zero or a denormalized number, depending on the fraction bits:<br />

fraction == 0<br />

The value is a zero. There are two distinct zeros that behave analogously to the<br />

two single-precision zeros:<br />

+0 when S==0<br />

–0 when S==1.<br />

A2-36 Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DDI 0406B

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

Saved successfully!

Ooh no, something went wrong!