Ian Lance Taylor wrote:
"Michael Gong" <mwgong@xxxxxxxxxxxxxx> writes:
I saw following function definition in libgcc2.c.
...
DFtype
__floatdidf (DItype u)
{
DFtype d = (SItype) (u >> (4 * 8));
d *= 0x1p32f;
d += (USItype)u;
return d;
}
Can anyone tell me what's the constant "0x1p32f" ? Is it a decimal
floating pointer constant ?
It is a single precision hexadecimal floating point constant. This is
a feature introduced into the language by the C99 standard. See ISO
C99 section 6.4.4.2.
The value of 0x1p32f is 2^32 == 4294967296.
Ian
Sooo...to make sure I read the bnf correctly.
This value should be 1 x (2 to the 32nd power). Correct?
Ray