Runtime
Environment
-
Floating-Point
Support
5.7.1.1
Single-Precision
Floating-Point
Format
31
32
MSB
Figure
5-3
illustrates the single-precision floating-point format. Single-
precision values
are
represented in 32 bits: a sign bit
(bit
31
),
an
8-bit
biased
exponent (bits
23-30),
and a
23-bit
mantissa (bits
0-22).
23
22
o
LSB
Figure
5-3.
Single-Precision
Format
Given a sign bit
s,
an
exponent
e,
and a mantissa f, the value V
of
the float-
ing-point
number
X=
(s,e,f)
is:
•
If
s=O, e=255, and f=O, the V = +
00
•
If
s=1,
e=255, and f=O, the V =
-00
• If
0<e<255
and f:l:O, then V = (-1)S x 2
e
-
127
(.f); V
is
not valid
if
X=
(s,e,f)
is
not
a normalized floating-point number
•
If
s=O, e=O, and f=O, the V = 0
• For all other
cases,
V =
not
valid
Precision
of
single-precision values
is
greater than six decimal digits; the range
includes:
• Positive values: 5.87747 x 10-
39
to
1.70141 x
10
38
• Negative values: -1.70141 x
10
38
to -5.87747 x
10-
39
• 0
•
±oo
5.7.1.2
Double-Precision
Floating-Point
Format
63 62
Figure
5-4
illustrates the double-precision floating-point format. Double-
precision values
are
represented
in
64 bits: a sign
bit
(bit
63)
an
11-bit
biased
exponent (bits
52-62),
and a
52-bit
mantissa (bits
0-51).
52
51
o
.!~'...
~:'.
,"
MSB
5-18
LSB
Figure
5-4.
Double-Precision
Format
Given a sign bit
s,
an
exponent
e,
and a mantissa
f,
the value V
of
the float-
ing-point
number
X=
(s,e,f)
is:
•
If
s=O,
e=2047,
and f=O, the V =
+00
•
If
s=1,
e=2047, and f=O, the V =
-00