1
12
IEEE双存储52位尾数,带有“隐式前导” 一个“形成53位数字。结果底端的错误 因此,约占数字比例的1/2^53。你的输出是 与1.0的顺序相同,所以结果只有一个 10^16部分(因为53*log(2)/log(10)=15.9)。 所以是的。这是关于精度的极限。我是 不知道你用的是什么超低频技术,但我怀疑你 应用错误。 |
2
13
对于sin(pi),答案只有0——你包括了pi的所有数字吗? -有没有其他人注意到这里明显缺乏讽刺/幽默感? |
3
6
@乔希·凯利-好的,严肃的回答。
唯一的例外是分配。
否则,您总是需要编写一些函数,如bool isclose(float a、float b、float error),以便检查两个数字是否在彼此的“错误”范围内。
|
5
1
错误有两个来源。sin()函数和m_pi的近似值。即使sin()函数是“完美的”,它也不会返回零,除非m_pi的值也是完美的——而事实并非如此。 |
6
0
我宁愿认为这取决于系统。我认为这个标准没有任何关于超验函数有多精确的说法。不幸的是,我不记得看到任何关于函数精度的讨论,所以您可能需要自己解决。 |
7
0
我在我的系统上得到了完全相同的结果-我会说它足够近了 我将通过将格式字符串更改为“%f\n”:来解决此问题。 但是,这会给您一个“更好”的结果,或者至少在我的系统中,它会给-3.661369E-245
|
8
0
除非您的程序需要有效数字到小数点后16位或更多,否则您可能可以手动进行舍入。根据我编程游戏的经验,我们总是把小数四舍五入到一个可以接受的有效数字。例如:
|
9
-1
可能实施的准确性太低
http://fresh2refresh.com/c/c-function/c-math-h-library-functions/ |
Jake Metz · 当浮点中有尾随的0时,如何显示2位小数 6 年前 |
Adrian Rotama · 将十进制四舍五入到最接近的十次方的轨道 6 年前 |
NicoH · 将浮点转换为整数时的四舍五入 6 年前 |
Musterknabe · 从浮点转换为int时的舍入错误 6 年前 |
dimas · oracle sql中的自定义舍入逻辑 6 年前 |
Peter · 设置tensorflow取整模式 6 年前 |
Karly · 某些基本浮点单位的整数到偶数(或不均匀)倍数 6 年前 |
Adam · 在Matlab中比较分数和小数近似值[重复] 6 年前 |