That's completely wrong [Update: except the bit on endianness].
- d isn't defined as an IEEE 754 double-precision float. (That said, it virtually always is.)
- F isn't defined as a float, and it's unlikely to be one.
- F isn't defined as an IEEE 754 single-precision float, and it's unlikely to be one.
- An IEEE 754 single-precision float doesn't have 32 bits of precision.
- An IEEE 754 double-precision float doesn't have 64 bits of precision.
- F is probably the same d or something larger, not something smaller.
See Mini-Tutorial: Formats for Packing and Unpacking Numbers.
d is a double
It is likely to be an IEEE 754 double-precision float, but it might not be.
f is a float
It is likely to be an IEEE 754 single-precision float, but it might not be.
F is an NV
It is likely to be an IEEE 754 double-precision float.
It is possibly an IEEE 754 quad-precision float.
It's unlikely to be an IEEE 754 single-precision float.
It's conceivable for it to be an Intel 80-bit extended precision float.
It might be none of those.
An IEEE 754 quad-precision float will be 128 bits in size and have 133 bits of precision (or less for subnormals).
An IEEE 754 double-precision float will be 64 bits in size and have 53 bits of precision (or less for subnormals).
An IEEE 754 single-precision float will be 32 bits in size and have 24 bits of precision (or less for subnormals).
An Intel 80-bit extended precision float will be at least 80 bits in size and have 64 bits of precision (or less for subnormals).