cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 4077|回复: 11

[泛手持计算设备] 现在的计算器的数据精度不可信任,极少数貌似过关,有例子

[复制链接]
发表于 2015-5-20 21:34:18 | 显示全部楼层 |阅读模式
大家自查下你的手头上的计算器,平常看起来很科技,可是在关键的地方,不经意间会掉链子,有可能会是个大坑呢。

如果说,计算精度只取前4位有效数字的话,那么我无话可说,所有的计算器都应该能过关。 如果精度要求更多位小数呢?

本帖子中包含更多资源

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

x
发表于 2015-5-20 21:39:09 | 显示全部楼层
windows计算器表示结果和LZ相同
 楼主| 发表于 2015-5-21 10:52:10 | 显示全部楼层
cfrpg 发表于 2015-5-20 21:39
windows计算器表示结果和LZ相同

就因为hp39模拟器对于三角函数那是专业的精准,我才放出来给大家看看的。除了789sga,其他的计算器可就没有那么精准了,不注意的话,坑有可能大了去了。
发表于 2015-5-22 14:27:26 | 显示全部楼层
有道理
发表于 2015-5-23 19:59:00 | 显示全部楼层
快速计算10位精度和卡成狗100位精度你要哪个?
发表于 2015-5-24 22:50:56 | 显示全部楼层
我用级数算出来
sin(51819)=sin(51819-16494*pi)=sin(1.5707716899487423) 到这里基本上没有损失精度。
=0.9999999996965129(计算过程是双精度的。取了30级级数。精度不会评估)
tan(51819)=1/sqrt((1/sin)^2-1)(之所以用这样怪异的公式,是为了减少计算步骤,提高精度。)
40589.601494761904
tan(77886622)=0.8060114916622898

等装一个linux再用bc算就更精确了。
HP干得不错。TI就不怎么样了
发表于 2015-5-24 22:52:59 | 显示全部楼层
计算器里
四则运算(+-*/)精度取决于内部位数,
三角运算取决于实现方式
发表于 2015-5-24 23:01:12 | 显示全部楼层
ssk12345 发表于 2015-5-23 19:59
快速计算10位精度和卡成狗100位精度你要哪个?

这个看运算需求了。
对一般商业,基本上不涉及三角函数,所以精度都差不多的。
科学运算中,一般会对这种tan(x->pi/2)会特别谨慎,其他的精度不会有大问题。
发表于 2015-5-25 21:58:03 来自手机 | 显示全部楼层
我倒是真的被精度坑过,那是一道题要求判断两个区间内正态分布概率是否相同,我直接用NS判断,结果false,但结果把题做错了。后来发现,两个概率是相等的,但NS因为计算精度问题,产生了1e-11左右的误差,导致NS认为左右不等,产生错解
回复 支持 1 反对 0

使用道具 举报

发表于 2015-5-26 17:34:46 | 显示全部楼层
本帖最后由 randomzoom 于 2015-5-26 17:37 编辑
name:=rand() 发表于 2015-5-25 21:58
我倒是真的被精度坑过,那是一道题要求判断两个区间内正态分布概率是否相同,我直接用NS判断,结果false, ...

我其实不怎么用计算器的。
不过,学编程的时候,老师告诉我们,两个实数不要用'=='来比较,非常不可靠的,原因在于,实数不是精确数,每次计算都损失精度。一般用abs(a-b)<1e10这类来等效a==b
算tan(77886622)精度取决于两件事,第一是pi的精度,77886622/PI=2.48e7,一下子削减了8位有效数字的精度。
发表于 2015-5-27 18:16:57 | 显示全部楼层
比如这个例子:
1-0.1-0.1-0.1-0.1-0.1-0.1-0.1-0.1-0.1-0.1
=1.387778780781446e-16
发表于 2015-5-27 19:45:31 | 显示全部楼层
jjww2999 发表于 2015-5-21 10:52
就因为hp39模拟器对于三角函数那是专业的精准,我才放出来给大家看看的。除了789sga,其他的计算器可就没 ...

原来是这样,我用ns一试只有五位有效数字靠谱
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-11-21 22:14 , Processed in 0.042248 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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