floating-point相关内容

NaN 的位模式真的依赖于硬件吗?

我正在阅读 Java 语言规范中的浮点 NaN 值(我很无聊).32 位 float 具有这种位格式: seee eeee emmm mmmm mmmm mmmm mmmm mmmm s 是符号位,e 是指数位,m 是尾数位.NaN 值被编码为全 1 的指数,并且尾数位不全为 0(这将是 +/- 无穷大).这意味着有许多不同的可能 NaN 值(具有不同的 s 和 m 位值). 对此,JL ..
发布时间:2022-01-09 10:40:19 Java开发

为什么 FLT_MIN 等于 0?

limits.h 指定非浮点数学类型的限制,例如INT_MIN 和 INT_MAX.这些值是您可以使用 int 表示的最负值和最正值. 在 float.h 中,有 FLT_MIN 和 FLT_MAX 的定义.如果您执行以下操作: NSLog(@"%f ​​%f", FLT_MIN, FLT_MAX); 你会得到以下输出: FLT_MIN = 0.000000, FLT_MAX = 34 ..
发布时间:2022-01-09 10:40:03 其他开发

如何检查零是正数还是负数?

是否可以检查 float 是正零 (0.0) 还是负零 (-0.0)? 我已将 float 转换为 String 并检查第一个 char 是否为 '-',但是还有其他方法吗? 解决方案 是的,除以它.1/+0.0f 是 +Infinity,但 1/-0.0f 是 -Infinity.通过简单的比较很容易找出是哪一个,所以你得到: if (1/x > 0)//+0 这里别的//-0 ..
发布时间:2022-01-09 10:39:52 Java开发

用javascript计算浮点数

可能重复: JavaScript 的数学有问题吗? 我正在使用 javascript 计算几个浮点值的总和......我注意到一个以前从未见过的奇怪事情.执行此代码: parseFloat('2.3') + parseFloat('2.4') 我得到4.699999999999999 那么...我该怎么做才能获得正确的值?(假设这是不正确的......) 解决方案 一旦你 ..
发布时间:2022-01-09 10:39:11 前端开发

为什么浮点数有符号零?

为什么双打有 -0 和 +0?有什么背景和意义? 解决方案 -0 (通常)被视为 0 *******.当 negative 浮点数非常接近于零以至于它可以被认为是 0 时,它可能会导致(要清楚,我指的是 算术下溢,下面的计算结果被解释为完全正确 ±0,而不仅仅是非常小的数字).例如 System.out.println(-1/Float.POSITIVE_INFINITY); -0.0 ..
发布时间:2022-01-09 10:39:05 Java开发

为什么在 Java 中比较浮点数不一致?

类测试{公共静态无效主要(字符串[]参数){浮动 f1=3.2f;浮动 f2=6.5f;如果(f1==3.2){System.out.println("相同");}别的{System.out.println("不同");}如果(f2==6.5){System.out.println("相同");}别的{System.out.println("不同");}}} 输出: 不同相同的 为什么是这样 ..
发布时间:2022-01-09 10:38:58 Java开发

在 C 上浮动的问题

我有一个 C 语言小程序,它使用递归函数(使用 while 循环实现)计算正整数 N 的平方根 x.如果我计算 x 使用这个: x = (1/2)*(x + N/x)//x0 = 1.0 然后 x 不断增长到 inf 然后是 nan.但是,如果我使用这个: x = (x + N/x)/2//x0 = 1.0 它工作正常,为什么?谢谢. 解决方案 1/2做整数除法,结果为0,将其中一 ..
发布时间:2022-01-09 10:38:36 其他开发

浮动到 int 意外行为

你能解释一下这个程序的 o/p 行为吗? int main(){浮点数 = 12.5;printf("%d\n", a);printf("%d\n", *(int *)&a);返回0;} 您能否在 http://codepad.org/AQRlAzkC 上查看代码 为什么会有这个输出.. 解决方案 您不想将浮点指针强制转换为整数指针.浮点数和整数的存储方式不同,如果这样做,则不会发生 ..
发布时间:2022-01-09 10:38:27 其他开发

我的浮点数在打印时有多余的数字

我将浮点数定义为 float transparent = 0.85f; 在下一行,我将它传递给一个函数 -- fcn_name(transparency) --但事实证明,变量 transparency 的值是 0.850000002,当我使用默认设置打印时,它是 0.850000002.对于值0.65f,它是0.649999998. 如何避免这个问题?我知道浮点数只是一个近似值,但是如果我 ..
发布时间:2022-01-09 10:38:20 其他开发

在php中将指数数转换为十进制

我有一个指数格式的浮点数,即 4.1595246940817E-17,我想将其转换为十进制数,如 2.99 等. 任何帮助将不胜感激. format_number() sprintf() 似乎对我不起作用. 解决方案 你需要一个更好的数学扩展,比如 BC Math, GMP... 来处理更精确的精度. 浮点数的限制 &整数 ..
发布时间:2022-01-09 10:38:10 PHP

Python中不准确的对数

我每天都在公司使用 Python 2.4.我使用了标准数学库中的通用对数函数“log",当我输入 log(2**31, 2) 时,它返回 31.000000000000004,这让我觉得有点奇怪. 我对 2 的其他幂也做了同样的事情,而且效果很好.我跑了 'log10(2**31)/log10(2)' 得到了 31.0 轮 我尝试在 Python 3.0.1 中运行相同的原始函数,假设 ..
发布时间:2022-01-09 10:38:02 Python

如何在 TurboC 中启用链接浮点库?

我是C语言的新手...只是想问一下如何在TurboC中启用链接浮点库? 解决方案 来自comp.os.msdos.programmer 常见问题解答: “浮点格式未链接"是Borland 运行时错误(Borland C 或C++、Turbo C 或 C++).博兰德的编译器试图变得聪明而不是链接在浮点 (f-p) 库中除非你需要它.唉,他们都得到决定错误.一种常见的情况是你不打电话给 ..
发布时间:2022-01-09 10:37:55 其他开发

Java双精度求和麻烦

我想知道为什么会出现此错误.(这是Eclipse调试的显示日志) 变量(双)2.8tot.getIva()(java.lang.Double) 0.17var+tot.get()(双) 2.9699999999999998 我不明白为什么我没有得到简单的 2.97! 解决方案 如果你想要 2.97,你应该使用 BigDecimal. doubles 在 binary 中存储为分数 ..
发布时间:2022-01-09 10:37:30 Java开发

'is' 运算符对浮点数的行为异常

我在对模块进行单元测试时遇到了一个令人困惑的问题.该模块实际上是在转换值,我想比较这些值. 与 == 和 is 相比存在差异(部分,我要注意差异) >>>0.0 是 0.0True # 符合预期>>>浮动(0.0)是0.0True # 符合预期 到目前为止,正如预期的那样,但这是我的“问题": >>>浮动(0)是0.0错误的>>>浮动(0)是浮动(0)错误的 为什么?至少最后一个让我 ..
发布时间:2022-01-09 10:37:20 Python

产生 NaN 浮点数时停止调试器

我有一个 C++ 程序.在程序中的某处(难以重现,但可重现)计算会导致浮点蜂设置为 NaN.由于涉及 NaN 的浮点运算会导致 NaN,因此传播速度很快. 有什么方法可以设置编译器 (gcc 4.4) 或调试器 (gdb) 在浮点运算导致 NaN 时停止?这将非常有用. 谢谢!内森 PS:这可能很重要:我在 ubuntu linux 10.10 下工作. 解决方案 您可以 ..
发布时间:2022-01-09 10:37:14 C/C++开发

是否有工具可以知道一个值是否具有作为浮点变量的精确二进制表示?

我的 C API 有一个将 double 作为输入的函数.只有 3 或 4 个值是有效输入,所有其他值都是无效输入并被拒绝. 我想检查我的所有有效输入值是否可以准确表示,这样我就可以避免进行 epsilon 检查以提高可读性. 是否有工具(最好在命令行上)可以告诉我十进制值是否具有精确的二进制表示为浮点值? 解决方案 这是一个 Python 代码片段,它完全符合您的要求;它需要 ..
发布时间:2022-01-09 10:37:05 服务器开发