24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1889  |  回复: 2

nansh13

金虫 (正式写手)

[求助] Fortran中e指数溢出问题求救已有2人参与

各位,我的e指数指定类型为double precision类型    最小值是-308次方    但是当我的自变量到-160的时候,算出来的东西就到-308次方了
   可是我要是想把自变量的范围再放大一些     我改怎么改公式呢

急求各位了
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

苦心人天不负卧薪尝胆三千越甲可吞吴
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

感谢参与,应助指数 +1
不是很清楚你的诉求。双精度己经是VF最好的精度了。个别编译器有real*16。下溢影响你的计算?不妨碍程序运行的。如果你非要坚持更高精度,可以试试FM Fortran, 那里你可规定任意位,比如200位有效数字

[ 发自小木虫客户端 ]
2楼2014-11-17 13:39:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jiangxingge

金虫 (正式写手)

【答案】应助回帖

你的问题没写清楚。你写清楚才好帮助你。因为你有很多背景情况都没说,别人怎么会知道,不知道就没法帮你。
我瞎猜一个。
我写了一个程序
real*8 v,f
v=-744.5
f=exp(v)
print*, v,f
end
当v=-744.5时,f=0.000000000000000E+000
当v=-744.4 时,f=4.940656458412465E-324
说明我的系统临界点和你的还不大一样。
没有关系,如果真是 这个问题,你把数学公式拿出来,根据你的需要,用数学方法把值域范围变化一下,就可以计算了。机器是死的,人是活的。
3楼2014-11-22 10:24:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 nansh13 的主题更新
信息提示
请填处理意见