Tag: 浮点

哪个是IEEE 754浮点数不能精确表示的第一个整数?

为了清楚起见,如果我使用的是实现IEE 754浮点数的语言,我声明: float f0 = 0.f; float f1 = 1.f; …然后打印出来,我会得到0.0000和1.0000 – 确切地说。 但是IEEE 754不能代表真实线路上的所有数字。 接近于零,“差距”很小; 随着你越走越远,差距就越大。 所以,我的问题是: 对于一个IEEE 754浮点数,它是第一个(最接近零)的整数,不能被精确表示? 我现在只关心32位浮点数,尽pipe如果有人给出64位的话,我会有兴趣听到64位的答案! 我认为这将会像计算2 bits_of_mantissa和加 1一样简单,其中bits_of_mantissa是标准暴露多less位。 我为我的机器上的32位浮点数(MSVC ++,Win64)做了这个,看起来不错。

如何在JavaScript中处理大数字

我正在寻找一个math解决scheme,处理真正(长,大,巨大,风暴)的数字。 我还没有find任何东西,但我不想这个问题在这个时候还没有解决。 我正在寻找一个简单的数字解决scheme,如Microsoft Excel Precision(十进制30)或BigInteger(Java)解决scheme。 在Javascript当然。

在16,32和64位IEEE-754系统中可以表示的范围是什么?

我知道一些关于如何表示浮点数的知识,但恐怕还不够。 一般的问题是: 对于一个给定的精度(对于我来说,基数为10的精确小数位数),对于16,32和64位IEEE-754系统,可以表示什么范围的数字? 具体来说,我只对16位和32位数的范围精确到+/- 0.5(1位)或+/- 0.0005(千位)感兴趣。

在x86上执行水平浮点vector和的最快方法

你有一个三(或四)的花车vector。 什么是总结他们最快的方法? SSE(movaps,shuffle,add,movd)总是比x87快吗? SSE4.2中的横向增加指令是否值得呢? 迁移到FPU的费用是多less,然后是faddp,faddp? 什么是最快的具体指令序列? “尝试安排事物,所以你可以一次总结四个向量”将不被接受为答案。 🙂

为什么将0.1f改为0会使性能下降10倍?

为什么这一点代码, const float x[16] = { 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6}; const float z[16] = {1.123, 1.234, 1.345, 156.467, 1.578, 1.689, 1.790, 1.812, 1.923, 2.034, 2.145, 2.256, 2.367, 2.478, 2.589, 2.690}; float y[16]; for (int i = 0; i < 16; i++) { y[i] […]

round()用于C ++中的float

我需要一个简单的浮点舍入函数,因此: double round(double); round(0.1) = 0 round(-0.1) = 0 round(-0.9) = -1 我可以在math.h中findceil()和floor() ,但不是round() 。 它以另一个名字出现在标准的C ++库中,还是缺less?

如何使用小数点范围()的步骤值?

有没有办法在0.1和0.1之间步进? 我想我可以像下面那样做,但是失败了: for i in range(0, 1, 0.1): print i 相反,它说,这个步骤参数不能为零,这是我没有想到的。

在php中比较花车

我想在PHP中比较两个浮点数,就像这个示例代码一样: $a = 0.17; $b = 1 – 0.83; //0.17 if($a == $b ){ echo 'a and b are same'; } else { echo 'a and b are not same'; } 在这段代码中,它返回else条件的结果,而不是if条件,即使$a和$b是相同的。 有什么特殊的方式来处理/比较PHP中的浮动? 如果是的话请帮我解决这个问题。 或者我的服务器configuration有问题吗?

我应该如何做浮点比较?

我正在写一些代码,我有一些东西: double a = SomeCalculation1(); double b = SomeCalculation2(); if (a < b) DoSomething2(); else if (a > b) DoSomething3(); 然后在其他地方,我可能需要做到平等: double a = SomeCalculation3(); double b = SomeCalculation4(); if (a == 0.0) DoSomethingUseful(1 / a); if (b == 0.0) return 0; // or something else here 总之,我有很多浮点math,我需要做各种条件的比较。 我不能把它转换成整型math,因为在这种情况下这样的事情是毫无意义的。 我以前读过浮点比较可能是不可靠的,因为你可以有这样的事情: double a = 1.0 / […]

在Python中几乎相等比较浮点数的最好方法是什么?

众所周知,由于四舍五入和精确性的问题,比较花车平等是有点费劲。 例如: https : //randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ 什么是在Python中处理这个build议的方式? 这个地方肯定有一个标准的库函数?