floating-accuracy

    0热度

    1回答

    php可以处理极小的数字而不会舍入它们吗?例如,当计算exp(-99) + 1/2时,php计算这是0.5。如果后面我想要乘以给定的结果,而不是极小的数字,那么这是有问题的,它只给出一半的数字。 echo exp(-99) + 1/2 // Outputs 0.5

    2热度

    1回答

    我的问题,简而言之,为什么浮点数的舍入误差只会在计算后显示出来,而不是存储文字? 我的意思是这个 - 我知道由于从十进制转换为二进制和返回时浮动四舍五入误差引起的问题。 例如,在Java中:然后 double a = 10.567; double b = 2.16; double c = a * b; C存储,而不是22.82472值22.824720000000003。 这是因为结果22

    0热度

    1回答

    我在Matlab中使用polyeig命令来解决Matlab中的阶2的多项式特征值问题。我知道系统有一个单独的0特征值(这是由于零系数矩阵的形式,其中每个对角线元素是-1行乘以在同一行中的元素的总和,所以向量(1 1 1 ... 1 )有0个特征值)。 系统的尺寸为约150〜150。 当我使用polyeig命令的最低特征值我得到的是顺序1E-4(其被认为是0的特征值)和所述第二最低是的为了1E-1。

    1热度

    2回答

    我目前正在编写一个需要高精度浮点数的软件。有时我需要比double可以给我更多的精度。我知道为什么经典浮点数只能达到有限的精度。 我正在考虑这个问题,并有想法使用string来表示数字并用它们进行计算。 string number_one = "12.3459233547343432"; string number_two = "738.67632487523747384"; string

    -1热度

    1回答

    说明为什么这不是&一个!: 我有关的Objective-C小调实施和NSNumber的类型遇到这个问题尖锐Q的重复已变化的浮点精确度和我只需要知道真的发生了什么,我该怎么做才能解决这个问题。那指出Q & A不足以解决我的问题及其答案。 注意:这不涉及值的类型使用情况。我很困惑,以了解NSNumbers的行为。 我有这种非常简单,它使用NSNumber基本上方法: + (NSNumber*)addN

    2热度

    2回答

    为了减少文件大小,我试图将float64数据保存到float32中的文件中。数据值一般在1e-12到10之间。我测试了将float64转换为float32时的精度损失。 print np.finfo('float32') 显示 Machine parameters for float32 ----------------------------------------------------

    1热度

    1回答

    我想优化我写的C代码块,我注意到产品比分部更快。这是一个众所周知的问题,很好地解释。考虑到这种优化,考虑到我一次又一次地除以相同的数字,我试图计算该数字的倒数一次,然后乘以它。但是,我注意到结果并不完全一样。 I'va设法写一个非常简单的例子,其中我在谈论的区别也很明显: #include <stdio.h> int main(){ double D = 1.1891; d

    3热度

    1回答

    我有一个Lua for循环,循环遍历从-1到1的数字,增量为0.01,并且生成的数字与6.6613381477509e-016一样差,范围为 - 0.1至0.1(不含) 我在LOVE引擎使用Lua(v 0.9.2),用C++编写 我宁愿解决的问题不仅仅是得到的解释的信息转储,但我宁愿没有任何东西。 (也是我明白一般的原因花车是不准确的,因此可以省略解释)

    1热度

    1回答

    的基础,我想找到整数n的对数的向上舍入的值,以整数基本b。代码: result = int(ceil(log(n, b))) 问题是,有时值不能完全代表浮点数,高估结果。例如: log(125, 5) == int(ceil(3.0000000000000004)) == 4 我该怎么办?减去微小的epsilon会低估其他地方。有没有一种方法可以完全的侧步浮点计算,有点像使用base 2?

    0热度

    1回答

    浮法更准确 This post具有下面的代码: DECLARE @A DECIMAL(3, 0), @B DECIMAL(18, 0), @F FLOAT SET @A = 3 SET @B = 3 SET @F = 3 SELECT 1/@A * 3.0, 1/@B * 3.0, 1/@F * 3.0 SELECT 1/@A * 3 , 1/@B * 3 , 1/@F * 3