问题标签 [floating-point-exceptions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arm - sigsuspend 系统调用在 ARM 驱动的 linux 平台上导致浮点异常
我正在尝试在 QEMU VM 上运行最初来自 ARM 支持的媒体中心的应用程序。我还尝试在我的 Raspberry Pi 上运行它。
不幸的是,应用程序在尝试执行svc 0x009000b3
OABI 调用方式时崩溃sigsuspend
。
据我所知,在错误调用之前有两个相关说明:
- MOV R1,#8
- 移动 R0, SP
还值得一提的是,我在 Qemu VM 和 Pi 上成功地从同一个媒体中心运行了 busybox 二进制文件。
我很高兴知道为什么会发生浮点异常以及如何避免它。
谢谢
c - 程序无法按预期工作
我这里有个问题。我必须制作一个程序来检查信用卡号是否有效,使用校验和。我应该从第二个到最后一个数字相乘每隔一个数字,然后将乘积相加,然后将未相乘的数字也加到该总和上。除法时结果应为 0。但是,我的程序有问题。当我输入大数字时,值会改变,最后我得到浮点异常(核心转储)。当我输入较小的数字时,有时会起作用,有时会不起作用。请帮帮我。
谢谢您的帮助。请解释这个问题,以便我以后避免它。
c++ - 浮点数:禁用特定异常
我设置了两个函数,一个启用浮点异常,一个禁用异常。
在下面的代码中,我一次性启用了两个异常(_EM_ZERODIVIDE 和 _EM_OVERFLOW),之后我只需要禁用 _EM_ZERODIVIDE 并启用 _EM_OVERFLOW。
将什么参数传递给我的函数 ResetFloatExeption (....)。
详情见代码。
c++ - 执行几个小时后程序崩溃
我正在尝试找出程序崩溃问题的原因。
此崩溃发生在几个小时的执行后。我使用 gdb 运行它,它告诉我它在哪一行代码中崩溃了。Gdb 告诉我该程序在以下行有一个浮点异常段错误:
此函数将数据分配给对象。参数 sumAreaFilled、sumAreaEdges 和 height 是增量参数,在执行过程中每秒都在增加,因此它们是 unsigned long long 类型,以避免任何内存问题。
参数 nTimesAlive 初始化为 1,并且每帧也不断递增,因此它永远不会为零。
其余的操作都是简单的分配,所以我认为它们不是任何问题的根源,但我会粘贴函数和数据类型,以便您可以获得掌握问题所需的所有信息。
和功能:
c - 我的练习的浮点异常(C语言)
我刚刚制作了一个实现二项式函数的程序(n!/k!*(n-k)!)
。
我可以毫无问题地编译我的程序,但是当我扫描 2 int(n 和 k)时,它显示“浮点异常”。
我尝试了很多方法来解决它,但我找不到问题,因为我不擅长 c 编程:( 我正在学习。有人可以帮助我吗?非常感谢。
c# - 确保 GetHashCode() 重载对半相等的 R3 浮点向量返回相同的方法
这是针对二进制和原始专家的。我正在实现一个浮点 R3 向量结构,我对“平等”的定义实际上是“基本上平等”。具体来说,对于比较向量 Abs( (a[i] - b[i]) / (a[i] + b[i]) ) < .00001 的所有坐标,返回 true。
我的问题是确定是否有一种方法可以使满足此要求的向量上的哈希值相同,因为我希望能够将这些向量用作字典的“键”。
如您所见,上面的代码用于检查 3 个不同坐标的相等性。
我正在考虑从三个浮点坐标中提取字节并使用每个坐标中的中间两个。
(以下不是代码,但堆栈溢出不会让我发布它,除非我缩进它)
或者类似的东西......简而言之 - 我很好奇如何确保适合我的 equals 方法的向量的哈希码总是相同......如果有人有一个非常低成本计算的好主意,我我很想听。或者,如果您可以将我引导到一个更深入地讨论如何存储浮点数以及如果上述比较方法返回相等的字节将始终相同的地方。
我可能需要一种新的比较方法而不是哈希函数,因为我真的无法确定任何字节都会匹配我猜...
fortran - 关于“forrtl:错误(65):浮动无效”的问题
我一直在调试模式下(-O0 -g -traceback -fpe3
打开标志)使用英特尔编译器版本 13.1.3.192 运行巨大的 Fortran 代码。它给了我以下输出消息:
错误的来源来自子程序 pentadiagonal_serial,它是求解一个五对角矩阵:
其中行
导致错误。我试图打印出的值const(:)
并发现确实存在Infinity
值。但是,我不明白为什么它会产生无穷大。据我所见,为了避免分母为零,tiny(1.0_WP)
添加了C(:,i)
,现在分母几乎不可能为零......我还检查了何时调用此子例程,所有内容都被初始化或在声明后赋予一个值。所以我想不出哪里会出错。
c - 尝试查找素数的浮点异常
我有一个生成素数的程序。当我想要前 100 和 200 个素数时,此代码工作正常,但每当我使用超过 300 的总值时,就会出现浮点异常。问题似乎出在数组中,但我不明白发生了什么。
c++ - 基本 fork() 程序返回 seg 错误或浮动 pt 异常
我已经尝试了 fork() 和 vfork() 并得到了一个带有 fork 的 float pt excep 和一个带有 vfork 的 seg 错误。当我使用 vfork() 时,没有明显的原因,它会退出子进程,但不会进入父进程,然后出现 seg 错误。当我使用 fork() 时,它进入父级,但给了我一个 float pt 异常。有任何想法吗?
c - 溢出与 Inf
例如,当我在 Matlab 中输入一个大于 max double的数字时,它会返回。出于教育目的,我想获得像C编译器这样返回溢出错误消息的溢出异常,而不是. 我的问题是:1.79769e+308
10^309
Inf
Inf
是
Inf
溢出异常吗?如果是,为什么C编译器不返回
Inf
?如果没有,我可以在 Matlab 中得到溢出异常吗?
Inf
和溢出异常有什么区别吗?
另外我不想在 Matlab 中检查,然后用函数Inf
抛出异常。error()