3.6.5. Floating-point literals

Floating-point literals can take any of the following forms:

````{-}digits  E{-}digits````
{-}{digits}.digits
``````{-}{digits}.digitsE{-}digits
``````0xhexdigits
``````&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 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.

Examples

```    DCFD    1E308,-4E-100
DCFS    1.0
DCFD    3.725e15
DCFS    0x7FC00000              ; Quiet NaN
DCFD    &FFF0000000000000       ; Minus infinity
```