### Format of Ten-Byte Floating Point Data in Sixteen-Byte Fields

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 | long double
Alignment | 4-byte aligned 8-byte aligned
Bit Mapping | In the internal representation, there is 1 bit for the sign (S), 15 bits for the exponent (E), and 64 bits for the fraction (F). The bits are mapped with the fraction in bit 0 to bit 63, the exponent in bit 64 to bit 78, and the sign in bit 79: `7 777777777666666 9 876543210987654 S EEEEEEEEEEEEEEE 6666555555555544444444443333333333222222222211111111110000000000 3210987654321098765432109876543210987654321098765432109876543210 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF` Read the lines vertically from top to bottom. For example, the second column of numbers shows that bit 78 is part of the exponent.
Storage Mapping | In the following mapping, high memory is to the right.
byte 0 | byte 1 | byte 2 | ... | byte 7 | byte 8 | byte 9
--- | --- | --- | --- | --- | --- | ---
    76543210
      111111
    54321098
    22221111
    32109876
    ...
    66666555
    43210987
    77666666
    10987654
    77777777
    98765432
    FFFFFFFF
    FFFFFFFF
    FFFFFFFF
    ...
    FFFFFFFF
    EEEEEEEE
    SEEEEEEE

####

Data Mapping

Mapping of Fundamental Data Types
Mapping of Compound Data Types
Format of Four-Byte Floating Point Data
Format of Eight-Byte Floating Point Data