主题最新回顾(发布时间:2011/6/19 23:37:00) |
---|
-- 作者:秦汉昌
-- 以下是引用浪-淘-沙在2011-6-19 22:44:00的发言:
如果你想要更多位的中间过程量的有效数字,应当在程序的计算流程上进行改进。 一般为了保留更多的有效数字,要求避免“大数”与“小数”直接相加、减。
比如1.234567890123456+0.0000000000000000123456-1.234567890123456 差不多等于0,有效数字位数很少。
但如果改为: A=1.234567890123456-1.234567890123456 B=A+0.0000000000000000123456 则B的结果,有效位数有6位。
天文计算时,经常会遇到“大”数与“小”数的相加减。所以程序设计时一定要掌握一个技巧,尽量避免开。 呵呵,谢谢,在以后的调试中,我尽量尝试您 的方法来改进 |
主题最新回顾(发布时间:2011/6/19 22:44:00) |
---|
-- 作者:浪-淘-沙
-- 如果你想要更多位的中间过程量的有效数字,应当在程序的计算流程上进行改进。 一般为了保留更多的有效数字,要求避免“大数”与“小数”直接相加、减。
比如1.234567890123456+0.0000000000000000123456-1.234567890123456 差不多等于0,有效数字位数很少。
但如果改为: A=1.234567890123456-1.234567890123456 B=A+0.0000000000000000123456 则B的结果,有效位数有6位。
天文计算时,经常会遇到“大”数与“小”数的相加减。所以程序设计时一定要掌握一个技巧,尽量避免开。 |
主题最新回顾(发布时间:2011/6/19 22:34:00) |
---|
-- 作者:秦汉昌
-- 呵呵,已经有十个有效数字位是正确的了 呵呵,只要不影响天文计算,我也不想再去深研了 |
主题最新回顾(发布时间:2011/6/19 22:24:00) |
---|
-- 作者:浪-淘-沙
-- 以下是引用秦汉昌在2011-6-19 22:19:00的发言:
是从第六位开始,有差异了 还是看有效数字的。 有10位有效数字,应当也不会影响结果。
如果原始数据的有效位数很低,比如只有6位,你计算得到10位数字,意义也不大的。
一个程序里的中间量的有效位数,不必太在意。你要看结果与“真值”之间的有多大的差别。 |
主题最新回顾(发布时间:2011/6/19 22:19:00) |
---|
-- 作者:秦汉昌
-- 是从第六位开始,有差异了 |
主题最新回顾(发布时间:2011/6/19 22:18:00) |
---|
-- 作者:秦汉昌
-- 以下是引用浪-淘-沙在2011-6-19 21:49:00的发言:
2912.4192316218 与2912.419231621753
有区别吗?四舍五入而已。
且有14位有效数字,你还嫌少? 不好意思,我在一楼把许老师的源码实际测试结果弄错了,许老师的代码结果应该是:2912.4192312033106 |
主题最新回顾(发布时间:2011/6/19 22:11:00) |
---|
-- 作者:秦汉昌
-- 结果为:2912.4192312033106document.getElementsByTagName是我们接触到的domcument文档对象模型的第二个接口,它的作用通过它的名字很容易理解:它解析文档获取具有指定标记名称的一个列表,在这里document.getElementsByTagName("h1")[0]得到文档中的第一个&1th1>标记。
测试原码如下:
<html> <style> </style> <script type="text/JavaScript"> </script> <h1> |
主题最新回顾(发布时间:2011/6/19 21:49:00) |
---|
-- 作者:浪-淘-沙
-- 2912.4192316218 与2912.419231621753
有区别吗?四舍五入而已。
且有14位有效数字,你还嫌少? |
主题最新回顾(发布时间:2011/6/19 21:40:00) |
---|
-- 作者:秦汉昌
-- 从天文计算的角度讲,不知精确到前六位会不会对计算的准确性产生较大影响 |
主题最新回顾(发布时间:2011/6/19 21:39:00) |
---|
-- 作者:秦汉昌
-- 这个差异导致结果从第七位小数开始不相同 |