floating-accuracy相关内容

WAMP和Web服务器上的PHP-FLOAT数字精度差异

我知道php浮点数are not accurate,我知道像BCMath和GMP这样的解决方案。我在本地WAMP server和另一台服务器(使用Nginx)上测试了以下代码: $size = 0.0006; $data = json_encode( array("size" => $size)); var_dump($data); WAMP上的输出: string '{"size ..
发布时间:2022-07-03 12:27:52 PHP

比较小数的最佳方法是什么?

比较小数的最佳方式是什么? 假设我有两个值,如3.45和3.44,什么是可靠比较它们的最佳方式? 我在考虑将所有数字存储为345和344,以便我只比较整数,并且只向用户显示带有小数点的格式化数字。 另一种解决方案是使用自定义函数来测试差异,当差异小于0.01时,数字应该相等。 其他可能的解决方案(更好的解决方案)有哪些? 推荐答案 最常见的技术是使用epsilo ..
发布时间:2022-06-26 15:54:45 C#/.NET

银行家的四舍五入真的在数字上更稳定吗?

我说的银行家四舍五入是指 “四舍五入,平分” ASrecommended by IEEE 754: 舍入到最接近的值;如果数字落在中间,则舍入到具有偶数(零)最低有效位的最接近的值。这是二进制浮点的默认设置,也是十进制的推荐默认设置。 据说此方法优于 “四舍五入到最近,平局离零” on the grounds that它“将对四舍五入的数字求和时的预期误差降至最 ..

SQL Server 2005 数值精度损失

调试一些金融相关的 SQL 代码发现了一个关于 numeric(24,8) 数学精度的奇怪问题. 在您的 MSSQL 上运行以下查询,您将得到 A + B * C 表达式结果为 0.123457 选择 A,乙,C,A + B * C从(选择 CAST(0.12345678 作为数字(24,8))作为 A,CAST(0 作为数字(24,8))作为 B,铸造(500 作为数字(24,8)) ..

浮点数的精确总和

我知道 一个类似的问题,但我想征求人们对我的算法的意见,以尽可能准确地将浮点数与实际成本相加. 这是我的第一个解决方案: 将所有数字放入最小绝对堆中.//按照下面的评论进行编辑弹出两个最小的.添加它们.将结果放回堆中.继续,直到堆中只有 1 个数字. 这个需要 O(n*logn) 而不是正常的 O(n).真的值得吗? 第二种解决方案来自我正在处理的数据的特征.这是一个巨大的正数列表 ..
发布时间:2022-01-09 15:47:03 其他开发

如何避免 Java 中的浮点数或双精度数的浮点精度错误?

我有一个非常烦人的问题,即 Java 中的浮点数或双精度数很长.基本上这个想法是,如果我执行: for (float value = 0.0f; value 我得到的是: 0.00.10.20.30.40.50.60.700000050.80000010.9000001 我知道有浮动精度误差的累积,但是,如何摆脱这个?我尝试使用 doubles 将错误减半,但结果还是一样. 有什么 ..
发布时间:2022-01-09 15:35:25 Java开发

IEEE-754 浮点精度:允许多少误差?

我正在从 sqrt 函数(用于 64 位双精度)>fdlibm 到我目前正在使用的模型检查工具 (cbmc). 作为我工作的一部分,我阅读了很多关于 ieee-754 标准的内容,但我认为我不了解基本操作(包括 sqrt)的精度保证. 测试我的 fdlibm 的 sqrt 端口,我在 64 位双精度上使用 sqrt 得到以下计算: SQRT(19770615168252036055552 ..

C基础知识:双变量不等于双表达式?

我正在使用一个名为 indata 的双精度数组(在堆中,使用 malloc 分配)和一个名为 sum 的本地双精度. 我写了两个不同的函数来比较indata中的值,得到不同的结果.最终,我确定差异是由于一个函数在条件测试中使用了表达式,而另一个函数在同一条件测试中使用了局部变量.我希望这些是等价的. 我的函数 A 使用: if (indata[i]+indata[j] > max) ..
发布时间:2022-01-09 10:55:40 其他开发

用 PHP 截断浮点数

当一个浮点数需要在浮点数后截断到某位时,事实证明这并不容易.例如,如果必须截断到该点之后的第二个数字,则数字应该是 45.8976 =>45.89, 0.0185 =>0.01 (点后第二位不按点后第三位四舍五入). round()、number_format()、sprintf()等函数将数字取整并打印出来 45.8976 =>45.90, 0.0185 =>0.02 我遇到了 ..
发布时间:2022-01-09 10:42:09 PHP

pandas 和 numpy 的意思不同

我有一个 MEMS IMU,我一直在其上收集数据,我正在使用 pandas 从中获取一些统计数据.每个周期收集 6 个 32 位浮点数.对于给定的收集运行,数据速率是固定的.数据速率在 100Hz 和 1000Hz 之间变化,采集时间长达 72 小时.数据保存在一个平面二进制文件中.我是这样读取数据的: 将 numpy 导入为 np将熊猫导入为 pddataType=np.dtype([('a' ..
发布时间:2022-01-09 10:41:34 Python

加减法后的浮点数小于等于比较

在一系列浮点算术运算之后与浮点数进行小于等于比较是否有“最佳实践"? 我在 R 中有以下示例(尽管该问题适用于任何使用浮点的语言).我有一个双 x = 1 在其上应用一系列加法和减法.最后 x 应该正好是一,但不是由于浮点运算(据我收集).示例如下: >stop_times expr some_arbitrary_factor 的指南? ..

为什么 4*0.1 的浮点值在 Python 3 中看起来不错,但 3*0.1 不好看?

我知道大多数小数都没有精确的浮点表示(浮点数学有问题吗?).p> 但我不明白为什么 4*0.1 可以很好地打印为 0.4,但 3*0.1 不是,当这两个值实际上都有丑陋的十进制表示: >>>3*0.10.30000000000000004>>>4*0.10.4>>>从十进制导入十进制>>>十进制(3*0.1)十进制('0.300000000000000004440892098500626161 ..
发布时间:2022-01-09 10:22:44 Python

python中的负零

我在 python 的输出中遇到负零;例如,它的创建如下: k = 0.0打印(-k) 输出将是 -0.0. 但是,当我将 -k 与 0.0 进行比较时,结果为 True.0.0 和 -0.0 之间有什么区别吗(我不在乎它们可能具有不同的内部表示;我只关心它们在程序中的行为.)有什么我应该注意的隐藏陷阱吗? 解决方案 查看 -0(维基百科中的数字) 基本上 IEEE 确实定 ..
发布时间:2022-01-09 10:10:51 Python

在javascript中截断(不四舍五入)十进制数字

我正在尝试将十进制数字截断为小数位.像这样的: 5.467 ->5.46985.943 ->985.94 toFixed(2) 做了几乎正确的事情,但它使值四舍五入.我不需要四舍五入的值.希望这在 javascript 中是可能的. 解决方案 upd: 所以,事实证明,舍入错误总是会困扰您,无论您如何努力弥补它们.因此,应该通过精确地用十进制表示数字来解决这个问题. Numbe ..
发布时间:2022-01-09 10:07:55 前端开发