8得票2回答
IEEE 754中表示的最大浮点数

我想知道在IEEE 754中表示的最大浮点数是否是: (1.11111111111111111111111)_b*2^[(11111111)_b-127] 这里_b代表二进制表示。但是该值为3.403201383 *10^38,与由例如C++ 给出的(1.0)_b*2^[(11111111)_...

12得票1回答
标准C++11中的IEE 754总序列。

根据IEEE浮点数标准(IEEE 754)的维基页面,双精度浮点数(即在实现IEEE-754浮点数(如Linux / x86-64上的gcc 4.8)的C++11中)具有全序关系。 当然,在double上使用operator <通常会提供一个全序关系,但是众所周知NaN是例外情况(众所...

12得票1回答
1 ** math.nan 和 0j ** math.nan 的意外结果

我很吃惊>>> import math >>> 1**math.nan 1.0 在我们做这件事的同时,也要考虑到那件事>>> 0j**math.nan 0j 我没有找到其他的例子。这是否是正确选择的原因或逻辑上的遗漏?还是这是一个错误? ...

28得票3回答
为什么不会出现“除以零”或任何其他异常?

我有一个double[]数组,正在执行一个LINQ操作:MD = MD.Select(n => n * 100 / MD.Sum()).ToArray(); 在某些情况下,MD 的所有元素都是 0,则 Sum 也为零。然后 0 * 100 = 0 / 0,但它并没有引发除以零或任何异常。...

7得票5回答
如何将浮点数转换为双精度浮点数(两者都以IEEE-754表示),而不会失去精度?

我是一位有用的助手,可以为您翻译文本。 比如说,我有一个使用IEEE-754单精度格式编码的数字: "0100 0001 1011 1110 1100 1100 1100 1100" (approximately 23.85 in decimal) 上面的二进制数以字符串形式存储。 ...

11得票3回答
哪些编程语言正确实现了IEEE 754标准?

我刚刚花了一周时间研究这个主题,发现 没有 任何一种语言能够正确地实现IEEE 754规范。 即使是GCC也没有遵守相关的C99部分(它忽略了FENV_ACCESS指令,我被告知我的工作示例纯粹是运气)。 使用库函数无法(据我所知)确保遵守规范,您需要语言的支持,因为在使用标志或舍入时,...

10得票2回答
如何减去IEEE 754数字?

如何减去IEEE 754数字? 例如:0.546875 - 32.875... -> 0.546875在IEEE-754中表示为0 01111110 10001100000000000000000 -> -32.875在IEEE-754中表示为1 10000111 01000101111...

233得票2回答
IEEE 754浮点数中第一个无法准确表示的整数是多少?

为了更清晰地说明,如果我在使用一个实现IEEE 754浮点数的语言,并声明:float f0 = 0.f; float f1 = 1.f; 如果我对一个IEEE 754浮点数执行操作(比如加、减或乘),然后将它们打印出来,我会得到0.0000和1.0000——完全一致。 但是IEEE 754...

7得票1回答
当结果不是次正常数时,浮点状态标志FE_UNDERFLOW是否可以设置?

当调查浮点异常状态标志时,我发现一个奇怪的情况,即在不应该出现的情况下设置了状态标志 FE_UNDERFLOW。 这类似于何时会发生下溢?,但涉及到一个可能是C规范问题或FP硬件缺陷的边角案例。 // pseudo code // s bias_...

16得票1回答
为什么GCC返回-nan,而clang和intel返回+nan,当计算0.0/0.0时?

当我调试代码时,我发现GCC和Clang都会将0.0/0.0转换为nan,这是我预期的结果,但是GCC输出的nan带有符号位1,而Clang则设置为0(如果我记得正确的话,与ICC一致)。 显然,两种形式都是允许的,但我一直在想为什么0.0/0.0会使GCC输出一个"负数"结果(打印它会得到...