Syntax of floating-point literals
Floating-point literals consist of a sequence of characters evaluating to a floating-point number.
They can take any of the following forms:
{-}
digits
E{-}digits
{-}{
digits
}.digits{-}{
digits
}.digitsE{-}digits
0x
hexdigits
&
hexdigits
0f_
hexdigits
0d_
hexdigits
where:
digits
Are sequences of characters using only the digits 0 to 9. You can write
E
in uppercase or lowercase. These forms correspond to normal floating-point notation.hexdigits
Are sequences of characters using only the digits 0 to 9 and the letters A to F or a to f. These forms correspond to the internal representation of the numbers in the computer. Use these forms to enter infinities and NaNs, or if you want to be sure of the exact bit patterns you are using.
The 0x
and &
forms allow the floating-point bit
pattern to be specified by any number of hex digits.
The 0f_
form requires the floating-point
bit pattern to be specified by exactly 8 hex digits.
The 0d_
form requires the floating-point
bit pattern to be specified by exactly 16 hex digits.
The range for half-precision floating-point values is:
- Maximum 65504 (IEEE format) or 131008 (alternative format).
- Minimum 0.00012201070785522461.
The range for single-precision floating-point values is:
- Maximum 3.40282347e+38.
- Minimum 1.17549435e-38.
The range for double-precision floating-point values is:
- Maximum 1.79769313486231571e+308.
- Minimum 2.22507385850720138e-308.
Floating-point numbers are only available if your system has floating-point, Advanced SIMD with floating-point.
Examples
DCFD 1E308,-4E-100 DCFS 1.0 DCFS 0.02 DCFD 3.725e15 DCFS 0x7FC00000 ; Quiet NaN DCFD &FFF0000000000000 ; Minus infinity