floating-point-precision

    0热度

    1回答

    我需要存储大量不同的值作为0到1之间的双精度,以获得均匀的表示。例如,一个ARGB值 - 这是一个32位整数。如果我将它作为一个倒数存储,可以双打唯一地表示每个整数值吗?我知道有足够的位可以做到,但我不确定指数间距是否会阻止这种情况发生。

    0热度

    1回答

    ,但是我的浮动似乎是掉?有什么建议么? for k in range (0,1000): pi[k] = (16**(-1*k)) *((4/(8*k +1)) - (2/(8*k +4)) - (1/(8*k +5)) - (1/(8*k +6))) print pi[2]

    0热度

    2回答

    我正在使用浮点型24位来将浮点值存储在恩智浦编译器MRK III中。它将24位浮点值作为3字节十六进制存储在数据存储器中。 现在,当我使用IEEE 754浮点转换将数字从二进制恢复为真实时,我收到了一些非常奇怪的东西。 让我把它用一个例子这样 - 注 - “因为我的编译器支持浮动24位(与浮动32一起),我指定的值这样的事情” 样本程序: float24 f24test; float f32te

    0热度

    3回答

    由于安全原因,我需要执行两次相同的计算,一次只使用整数(int32)变量,而另一次只使用float(float32)变量。在计算结束时,两个结果之间正在进行比较。 我阅读了关于comparing floating point numbers的文章。 有几件事情我不明白: 我还没有为浮点数以下压缩:假设一个和b的花车,是比较正确的是这样的: 如果!(A> b)& &!(一< b)是真的,那么一个和b

    1热度

    1回答

    我做了一个调查页面,在那里我正在读取数据库中的投票数。 现在我想获得显示“进度条”的选票的百分比。 我写了这个funcion得到的百分比: function progress($cur, $max, $round=1) { return ($max!=0) ? round(($cur/$max) *100, $round).'%' : '0%'; } 这似乎是做工精细,但对于一些数

    1热度

    1回答

    加倍假设我们的平台,其中类型long double具有比64个比特的严格更高的精度上工作。将给定的long double转换为普通双精度数的最快方法是什么?使用一些规定的舍入(向上,向下,从最近到最近等)? 为了使问题更准确,让我举一个具体的例子:让N是一个给定的long double,并且M是其价值(实际)值M - N这样M>N最小化double。这M将是我想查找的向上舍入转换。 我可以逃脱适当

    0热度

    2回答

    这可能是一个真正合理的答案的问题..但我真的不明白这一点! 为什么,这是否给出不同的结果.. 唯一的区别是一个for循环和while循环。即使当他们循环多次准确??? array = [1.2344, 2.47373, 3.444]; var total = 0, total2 = 0, i = array.length, whileLoops =

    1热度

    2回答

    运行下面的代码,我希望收到这样的输出: Desired output: Car Hours Charge 1 1.5 2.00 2 4.0 2.50 3 24.0 10.00 但结果出来如下: Actual output: Car Hours Charge 1 2 2 2 4 2.5 3 2e+01 10 ,可以引导我使用的任何建议正确浮点数比较和

    0热度

    1回答

    我刚刚在Python中学习了Decimal类,并且在修改十进制数的精度时遇到了一些问题。代码: from decimal import * def main() : getcontext().prec = 50 print Decimal(748327402479023).sqrt() if __name__ == '__main__' : main()

    5热度

    2回答

    为什么这个断言失败? import std.conv; void main() { auto y = 0.6, delta=0.1; auto r = to!int(y/delta); assert(r == 6); } r的值应该是6,但它是5,为什么?