double和long double区别

如题所述

区别大了

从数学上说,double是实数(有范围限制),long是整数(有范围限制)
实数包含整数

从系统分配字节来说,double变量占8个字节,long占4个字节

从计算机的存储形式来说,区别就更大了,当然,楼主初学,不必了解那么详细 ,只要记住前两点就行
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-23
double 是占8个字节,long double 占16个字,就好比一个大箱子和一个小箱子,大箱子是小箱子的2倍。当然大箱子装的东西要更多些,保存的精度也更加精确。
第2个回答  推荐于2017-10-11
其实标准并没规定float, double, long double各是多长, 不过一般的实现都是用的ansi标准的32位和64位浮点数(这个是ansi的浮点数标准而不是c标准)。

long double目前就是64位, 并不比double更长。 当然也许新出的某个编译器在64位系统下提供更长的浮点数, 这都是有可能的, 而且我相信迟早这个long double会真正长起来

关于你用的编译器的情况, 你可以打印 sizeof(long double)试试看本回答被提问者采纳
第3个回答  2010-07-24
double是8字节,long double C标准没有详细规定,只说了sizeof(long double)>=sizeof(double)。
在Vc6里,double和long double是相同的。gcc编译sizeof(long double)的结果是12。
这个具体长度与机器和编译器、操作系统有关。
第4个回答  2010-07-23
long double精度更高