|
|
1
2
使用定点数学可以处理已知的有限精度。 例如,Rockbox音乐播放器固件几乎完全使用定点媒体编解码器。 如果您必须完全准确,请使用像GMP库提供的那样的无限长存储类型。 如果你只是想减少你的错误,试着尽可能接近零,在那里IEEEFP数字更精确。重新排序操作以避免绝对值过大。 |
|
|
2
0
浮点精度是一个很大的课题,一些最聪明的计算机科学家多年来一直在研究这个问题。如果你要么没有学习过FP的准确性,要么没有彻底研究过你的CS问题,要么不能依靠其他队友来完全理解,只需坚持双打,而不是32,而是浮动,除非你只是在做电脑绘图或项目要求单打。 有些任务,如乘法,是交际的。例如,使用python:
答案是一样的,因为指数只是简单地加在一起,而尾数(1.分数…)只是简单地相乘而没有损失。 另一方面,如果我们按错误的顺序执行减法和乘法,我们可以得到非常不同的结果。
0.00016791818705204833
0.00016791818705197414
即使这看起来很好,如果仔细观察,您会发现只有11个十进制数字是正确的。从另一个角度来看,
|
|
|
Leo · 为什么carg(-0)返回-pi? 1 年前 |
|
Fyodor · 在C中使用sin和cos计算数学表达式不正确? 1 年前 |
|
|
Alexander · 为什么数字的输出不同? 1 年前 |
|
Ronny · 如何防止程序返回“inf”? 1 年前 |
|
|
EMS · 为什么双重打印的值与C中的浮点值相同,而它们的大小不同? 1 年前 |
|
|
Dakolas · 对python十进制库感到困惑 2 年前 |
|
|
RTC222 · 无法获取vrndscalepd的正确舍入模式代码 2 年前 |