Tag: long double

printf和long double

我在Windows上使用最新的gcc与Netbeans。 为什么不long double工作? printf说明符%lf错的吗? 码: #include <stdio.h> int main(void) { float aboat = 32000.0; double abet = 5.32e-5; long double dip = 5.32e-5; printf("%f can be written %e\n", aboat, aboat); printf("%f can be written %e\n", abet, abet); printf("%lf can be written %le\n", dip, dip); return 0; } 输出: 32000.000000 can be written 3.200000e+004 0.000053 can […]

长双倍

我知道各种数据types的大小可以根据我所在的系统而改变。 我使用XP 32位,并在C ++中使用sizeof()运算符,似乎long double是12个字节,double是8。 但是,大多数主要来源指出,long double是8个字节,因此范围与double相同。 我怎么有12个字节? 如果long double确实是12个字节,那么这个扩展的范围也不是? 或者,只有当长度超过了double的范围时才使用长签名(编译器数字),因此超出了8个字节? 谢谢。