问题标签 [underflow]
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.
math - 通过添加对数进行乘法---零是身份元素吗?
从概念上讲,我需要将每个事件的概率乘以巧合。由于可能涉及很多事件,我让计算机添加对数以避免下溢。
但是突然间我无法说服自己应该在开始添加之前将返回值初始化为零。我知道零是加法的单位元素,我记得我就是这样做的,但是,查看对数图,我可以清楚地看到零的反对数是负无穷大。
所以将返回值初始化为零应该相当于将我所有的概率乘以负无穷大,这绝对是不正确的。我究竟做错了什么?
java - Java如何处理整数下溢和上溢?
我了解java中的溢出,但是什么叫做下溢?java如何处理它?
r - 在 R 中处理非常小的数字
我需要计算一个非常小的数字列表,例如
(0.1)^1000, 0.2^(1200),
然后将它们归一化,以便它们总和为一个,即
a1 = 0.1^1000, a2 = 0.2^1200
我想计算 a1' = a1/(a1+a2), a2'=a2(a1+a2)。
当我得到 a1=0 时,我遇到了下溢问题。我怎样才能解决这个问题?理论上我可以处理日志,然后 log(a1) = 1000*log(0.l) 将是一种表示 a1 而没有下溢问题的方法 - 但为了规范化我需要得到 log(a1+a2) -我无法计算,因为我不能直接表示 a1 。
我正在用 R 编程——据我所知,c# 中没有像 Decimal 这样的数据类型,它可以让你获得比双精度值更好的值。
任何建议将不胜感激,谢谢
java - 在 Java 中添加两个 Double.NEGATIVE_INFINTIY 对象
看看 Java 中的这个片段:
为了避免垃圾值,当且仅当它大于 Double.NEGATIVE_INFINITY 并且不等于 NaN 时,我想将总和 (alpha + beta) 添加到 initialDistributionStripe 映射。
我相信我所做的是正确的,我不需要明确检查“NaN”,因为根据 IEEE 754 和 Java 规范,任何与 NaN 的比较都会导致错误。因此,如果 alpha + beta 为 NaN,则为((alpha + beta) > Double.NEGATIVE_INFINITY)
false。
我的推理正确吗?
exception - 例如,如果 int a = Integer.MIN_VALUE-1; 则抛出异常;
您是否知道任何会在溢出或下溢时引发异常的语言?谢谢
numbers - 无符号数的上溢/下溢
因此,如果在无符号数的加法中进位为 1,则溢出,如果在减法中出现 0 的进位,则为下溢。但是,这在每种情况下都有效吗?
如果你做 5-0:0101 -0000
= 0101 +(1111 + 1)
= 0101 +0000
= 0101...这里有一个零进位,而不是1。如何解释这种情况?有不同的方法吗?
(使用 MIPS 架构或其他任何东西)
- -编辑
谢谢阿马丹。不过,我理解那部分。我的问题是零似乎是一个特例。它似乎不遵循正常数字的做法:在我上面的示例中,没有 1 的进位。
我目前正在使用 ALU 进行电路设计并尝试实现溢出检测,当出现这种情况时,它并没有遵循其他情况。
我们假设通过减法,第二个操作数在进入 ALU(然后添加到第一个操作数)之前被预先反转(二进制补码)。因此,每当减法的“invert_b”设置为 1 时,b 就会反转,我们假设我们要检查的情况是减法,它的进位应该是 1。
c - 无符号加有符号时如何判断溢出
我试图在将有符号偏移添加到无符号位置时检测溢出
如何检查结果是上溢还是下溢?
我想到了一个丑陋的方法,但不确定它的正确性。
- 下溢:
offset < 0 && position + offset >= position
- 溢出:
offset > 0 && position + offset <= position
我也想知道是否有更优雅的方式来做到这一点。
更新:
如果偏移量很长,最好的解决方案是什么?
java - 我如何评估这个等式?
我认为从代码中可以很好地自我解释。显然,我不会一遍又一遍地评估同一件事,它只是解释我的问题的示例数字。我猜它的上溢/下溢,但我不知道如何处理它。
computer-science - 除下溢
为什么除数下溢仅在除数远小于被除数时引起,无论除数大小如何,分母都足够接近零时不应该发生?
java - 从随机长生成随机双精度
在 Java 中,我有一个随机生成器,它生成从 -2^63 到 2^63 的随机数,这不是 java.util.Random。
我需要在(0,1)中生成随机双精度,这是我到目前为止所做的:
这是正确的吗?是否有任何数值问题(下溢?)?
可以更好/更快吗?
谢谢你。