问题标签 [precision]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
990 浏览

precision - 具有无限精度的数学库是如何实现的?

所以我知道浮点精度(以及 1.1 之类的东西如何不能用二进制精确表示)等等,但我想知道:那么,与数学相关的库如何实现无限精度?换句话说,例如,您将如何以二进制形式准确地表示 1.1?只是一个简短的描述会很棒,我可以自己弄清楚确切的细节。谢谢。:)

0 投票
4 回答
3492 浏览

matlab - MATLAB - 地板问题

我是 MATLAB 初学者。这是问题所在:

c 应该是 1,对吧?为什么是0???

直接输入b = 2时不同,如下:

0 投票
4 回答
6516 浏览

sql-server-2005 - SQL Server:使用数字文字进行计算

我用浮点计算做了一些测试,以尽量减少精度损失。我偶然发现了一个我想在这里展示的现象,希望能得到解释。

当我写

结果是

当我编写相同的公式并进行显式转换时float

结果是


到目前为止,我认为带小数位的数字文字会自动被视为float具有适当精度的值。投射到real显示与投射到 相同的结果float

  • 是否有一些关于 SQL Server 如何评估数字文字的文档?
  • 这些文字属于什么数据类型?
  • 我真的必须铸造它们以float获得更好的精度(这对我来说听起来很讽刺:)?
  • 有没有比将我的公式与演员表混为一谈更简单的方法?
0 投票
3 回答
1967 浏览

integer - 有符号 64 x 32 整数除法

假设您有一个机器指令 udive,它通过取(32 位被除数 << 32)/32 位除数来执行特殊情况 64 x 32 无符号除法,我们可以使用以下方法进行完整的 64 x 32 除法:

然而,签署的案例给我带来了问题。假设一个等效的 sdive 指令执行 udive 的签名版本,我无法完全弄清楚如何处理余数等等。

0 投票
3 回答
2618 浏览

php - 为什么 postgresql 不存储我的整个(PHP)浮点值?

我尝试将 PHP 浮点值 63.59072952118762 存储到 postgres 中的双精度列中。Postgres 将该值存储为 63.59073。有谁知道为什么?对于该值,8 字节应该绰绰有余。我已经尝试过使用数字数据类型,它在指定精度时有效,但这并不是必需的。

更新:在尝试存储 63.5907295 时也存在同样的问题,因此在存储之前双倍发生某些事情的建议似乎是现实的。

更新二(部分解决):我分配双参数的行如下所示:

我不知道的是 PDO 将其参数类型默认为字符串。我将其更改为 PDO::PARAM INT 缺乏更好的选择(PARAM DOUBLE 不是一个选项),并且在存储在 postgres 中的双精度中获得了 10 位精度(至少有一些进展)。我已经检查过 numeric 类型是否运行良好,因此在使用 PDO 和必须具有超过 10 位小数的精度的双精度时,numeric 似乎是要走的路。

无论如何,正如有人提到的那样,我不知道我是否必须拥有这种精度,但我认为这个问题本身就值得研究。

0 投票
3 回答
16789 浏览

python - 有没有办法在 Python 中获取分数的重复小数部分?

我正在使用 Python 的小数模块处理分数,我想只得到某个分数的重复部分。例如:如果我有 1/3,我想获得 3,如果我有 1/7,我想获得 142857。是否有任何标准函数可以做到这一点?

0 投票
7 回答
64285 浏览

.net - 调整小数精度,.net

C# 中的这些行

生成此输出:

所以我可以看到从文字创建一个十进制变量可以让我控制精度。

  • 我可以在不使用文字的情况下调整十进制变量的精度吗?
  • 如何从 a 创建 b?如何从 c 创建 b?
0 投票
3 回答
3223 浏览

.net - 不四舍五入的十进制格式.net

昨天我问了这个关于小数及其内部精度的一般性问题。这是关于我要解决的场景的具体问题。

我在 SqlServer 中有输入的列 - 十进制(18,6)。当我获取这些值时,创建的 .net 小数与数据库中的精度相匹配。它们看起来像这样:

我需要根据这些规则呈现(ToString)这些值:

  • 始终显示非零。
  • 显示小数点后第 n 位或之前的尾随零。
  • 不显示第 n 位小数后的尾随零。

所以,当 n 为 3 时,这就是我想要的:

现在,我编写了一些 ToString 是小数点的代码 - 删除所有尾随零,然后分析字符串以查找小数点并计算小数位数以查看需要重新添加多少尾随零。 有没有更好的方法来实现这一点?

另外,我知道我在上面的问题中说过 ToString ......但如果我可以在离开我的数据访问层时修改小数,这样消费者总是能以适当的精度获得小数,那就更好了。是否可以在没有字符串操作的情况下对小数本身执行此操作?

0 投票
5 回答
3139 浏览

floating-point - 从 1.5 x 10^(-45) 到 3.4 x 10^38 有多少个不同的数字?

从 1.5 x 10 -45到 3.4 x 10 38(IEE754 单精度浮点数)有多少个不同的数字?

0 投票
7 回答
502921 浏览

c# - 十进制与双倍!- 我应该使用哪一个以及何时使用?

我一直看到人们在 C# 中使用双打。我知道我在某处读到双打有时会失去精度。我的问题是什么时候应该使用双精度类型,什么时候应该使用十进制类型?哪种类型适合货币计算?(即超过 1 亿美元)