5.2.2.3 Floating-Point
| Name | Width (bits) | Fraction | Exponent | Sign |
|---|---|---|---|---|
| Float | 32 | 0-22 | 23-30 | 31 |
| Double | 64 | 0-51 | 52-62 | 63 |
In addition, the order of bytes in the stream is significant. All floating-point values shall be encoded with the least significant byte appearing first (i.e., little endian).
Figure 3 illustrates how the value −6.5 (Hex: C0D00000) is encoded as a Float.
The floating-point type supports positive and negative infinity and not-a-number (NaN). The IEEE specification allows for multiple NaN variants; however, some encoders/decoders are not able to preserve the distinction. Encoders shall encode a NaN value as an IEEE quiet-NAN (Hex: 000000000000F8FF) or (Hex: 0000C0FF). Any unsupported types such as denormalized numbers shall also be encoded as an IEEE quiet-NAN. Any test for equality between NaN values always fails.
