### Format of Four-Byte Floating Point Data

IBM C and C++ Compilers conforms to IEEE format, in which a floating point number is represented in terms of sign (S), exponent (E), and fraction (F):

> (-1)S x 2E x 1.F

Type | float
Alignment | 4-byte-aligned
Bit Mapping | In the internal representation, there is 1 bit for the sign (S), 8 bits for the exponent (E), and 23 bits for the fraction (F). The bits are mapped with the fraction in bit 0 to bit 22, the exponent in bit 23 to bit 30, and the sign in bit 31:
    3 32222222 22211111111110000000000
    1 09876543 21098765432109876543210
    S EEEEEEEE FFFFFFFFFFFFFFFFFFFFFFF
Read the lines vertically from top to bottom. For example, the third column of numbers shows that bit 29 is part of the exponent.
Storage Mapping | In the following mapping, high memory is to the right.
byte 0 | byte 1 | byte 2 | byte 3
--- | --- | --- | ---
    76543210
     111111
    54321098
    22221111
    32109876
    33222222
    10987654
    FFFFFFFF
    FFFFFFFF
    EFFFFFFF
    SEEEEEEE

####

Data Mapping

Mapping of Fundamental Data Types
Mapping of Compound Data Types
Format of Eight-Byte Floating Point Data
Format of Ten-Byte Floating Point Data in Sixteen Byte Fields