【发布时间】:2021-09-30 10:56:09
【问题描述】:
double数据类型和c中long double数据类型的十进制值数量有什么区别?
【问题讨论】:
-
内存中的表示,double数据用8字节表示,long double用16字节表示,可以表示比普通double变量大得多的数字
-
C 不需要遵循IEEE 754,但许多实现(在某种程度上)这样做。
-
请记住,这些位数是近似的。大多数机器使用二进制浮点,而不是十进制。因此,虽然
double类型可以区分数字 1.000000000000001 和 1.000000000000002,但它不能使用这些十进制数字表示这些数字,也不能准确地表示其中任何一个。 -
@MichaelGabbay:
double和long double类型的大小因 C 实现而异。 C 标准不要求double有 8 个字节或long double有 16 个字节。 -
@EricPostpischil 感谢您的评论
标签: c floating-point