数学研发论坛

 找回密码
 欢迎注册
查看: 3880|回复: 9

[求助] 请教 long double

[复制链接]
发表于 2008-11-14 21:49:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x
书上说是 1.7e-308~1.7e+308(长度64bit)
google计算器能显示的数是
1.79769313*10^308

请问这个1.79769313是怎么来的?

(从longdouble的存储结构上)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-15 08:17:23 | 显示全部楼层
首先给楼主更正一下:值域范围达到 1.7E+308 的是double 型,它是8字节;
long double 是10字节的,最大可到 1.1E+4932
这是 International Electrotechnical Commission(IEC) 在1989年定义的二元浮点算术标准(IEC60559)
C99 标准支持上述 IEC 浮点标准。不过早期的编译器把long double视同为double。

楼主应该查阅一下浮点数在计算机里的存储格式以及规则。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-15 10:24:35 | 显示全部楼层
VC编译器也把long double 视为double,也就是说在vc中使用long double并不能提高精度
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-15 10:26:15 | 显示全部楼层
2^1024=1.797693134862315907729305190789e+308


1.79769313 就是这么来的


(用 WINDOWS 自带的计算器算的)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-11-15 11:01:48 | 显示全部楼层
非常有用,非常感谢
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-15 11:16:00 | 显示全部楼层


是不是目前的编译器都支持
long double?
或者还是
和平台相关的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-15 12:09:19 | 显示全部楼层
支持,但是不同平台下精度可能不同
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-15 14:37:06 | 显示全部楼层
反正
128精度的标准快出来了
80位的早晚退休
呵呵
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-26 23:28:16 | 显示全部楼层
long double ?
VC   8byte
BCB  10byte
G++   12byte
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-27 07:41:21 | 显示全部楼层
12 byte 估计是出于字节对齐需要吧,
精度不会再提高,
因为CPU内部的寄存器存储容量是有限的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2022-6-29 06:31 , Processed in 0.072042 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表