我知道不同的系统中,各种数据类型的大小可能会改变。
我使用 XP 32位,并使用 C++ 中的 sizeof()
运算符,看起来 long double
是 12 字节,double
是 8 字节。
然而,大部分可靠的来源都称 long double
是 8 字节,因此其范围与 double
相同。
为什么我的结果是 12 字节呢?如果 long double
确实是 12 字节,那么这是否也扩展了其值的范围?或者长标识符仅在值超出 double 范围时(编译器自动判断),才会扩展到 8 字节之外?