zhangsw13 发表于 2019-11-20 09:22 所以你一直不懂 |
zhangsw13 发表于 2019-11-19 15:35 我记得是有这个规则,也试了确实单精度没有默认转为双精度计算,很抱歉我之前没有实践,差点耽误你。 |
vvt 发表于 2019-11-19 18:57 谢谢!编译器设置这里不太懂,我还是先对常数加双精度吧 ![]() |
weixing1531 发表于 2019-11-19 17:00 感谢,以防万一就把每个常数都加上吧 |
本帖最后由 vvt 于 2019-11-19 18:59 编辑 一些编译器允许把默认精度改成双精度。比如 -fdefault-real-8 之类的参数 |
0.1d0 每个中间环节都要双精度 |
本帖最后由 necrohan 于 2019-12-12 09:35 编辑 zhangsw13 发表于 2019-11-19 14:50 书中还给了3个例子, 1.d0/3这种会把其中的3转为双精度计算 1.0/3+1.d0/3 其中1.0/3默认是单精度的3.333333e-1,1.d0/3是3.333333333333333E-001,所以结果是6.666666333333333E-001。 看样子除了乘除法,其他都要加d0。 |
li913 发表于 2019-11-19 13:51 除了赋值的时候需要加,运算的时候也需要吗,比如a=3*b+1需要写成a=3d0*b+1d0吗 |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2025-4-16 09:58