问题标签 [integer-overflow]
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.
java - 两个有符号 Java 'long' 值的饱和相加
如何long
在 Java 中添加两个值,以便如果结果溢出则将其限制在范围内Long.MIN_VALUE
.. Long.MAX_VALUE
?
对于添加整数,可以精确地执行算术long
并将结果转换回int
,例如:
或者
但在long
没有更大的原始类型可以容纳中间(非钳位)总和的情况下。
由于这是 Java,我不能使用内联汇编(特别是 SSE 的饱和添加指令。)
它可以使用来实现BigInteger
,例如
但是性能很重要,因此这种方法并不理想(尽管对测试很有用。)
我不知道避免分支是否会显着影响 Java 的性能。我认为它可以,但我想对有和没有分支的方法进行基准测试。
c - 如何在没有未定义行为的情况下检查 C 中的有符号整数溢出?
有(一):
和(2):
哪个是首选或有更好的方法。
language-agnostic - 什么是整数溢出错误?
什么是整数溢出错误?为什么我关心这样的错误?有哪些避免或预防的方法?
algorithm - 如何在将两个 2 的补码整数相乘时检测溢出?
我想将两个数字相乘,并检测是否有溢出。最简单的方法是什么?
java - Java Integer compareTo() - 为什么使用比较与减法?
我发现方法的java.lang.Integer
实现compareTo
如下所示:
问题是为什么使用比较而不是减法:
c - 关于无符号整数下溢的 C 行为问题
我在很多地方读到无符号整数溢出在 C 中定义明确,与有符号对应物不同。
下溢是否相同?
例如:
谢谢。
我不记得在哪里,但我在某处读到无符号整数类型的算术是模块化的,所以如果是这种情况,那么 -1 == UINT_MAX mod (UINT_MAX+1)。
c++ - 整数溢出错误
这是我的 OpenGL 代码的一部分,我收到以下错误:
security - 整数溢出如何被利用?
有没有人详细解释如何利用整数?我已经阅读了很多关于这个概念的内容,我理解它是什么,我理解缓冲区溢出,但我不明白如何通过使整数大于它定义的内存....
vba - 在 VBA 中睡觉(整数溢出!!)
在 VBA 中,您可以
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
为自己提供睡眠程序。
但是,Long
对于超过 32000 毫秒的值,必须传递给例程的 似乎会溢出。
有没有一种方法可以让睡眠更长时间,而无需将几个连续的睡眠例程调用串联在一起的复杂性?
java - Java 如何处理整数下溢和上溢以及如何检查它?
Java 如何处理整数下溢和上溢?
从那开始,您将如何检查/测试这种情况是否正在发生?