I think the standard is, once again, bonkers about this. In practice float is 32 bit and double is 64 bit and both adhere to the IEEE754 standard. I have yet to see a platform that implements floating point numbers and float and double are something else. The standard should just mandate that floating point numbers be IEEE754 compliant because that is the de-facto standard anyway.