問題タブ [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.

0 投票する
4 に答える
5158 参照

java - 2つの署名されたJavaの「long」値の飽和加算

Javaで2つのlong値を追加して、結果がオーバーフローした場合に範囲にクランプされるようにするにはどうすればよいLong.MIN_VALUEですLong.MAX_VALUEか。

intを追加するために、long正確に算術演算を実行し、結果をにキャストして戻すことができますint。例:

また

ただしlong、中間(クランプされていない)合計を保持できるより大きなプリミティブ型がない場合。

これはJavaであるため、インラインアセンブリ(特にSSEの飽和追加命令)を使用できません。

BigIntegerそれは、例えばを使用して実装することができます

ただし、パフォーマンスは重要であるため、この方法は理想的ではありません(ただし、テストには役立ちます)。

分岐を回避することがJavaのパフォーマンスに大きな影響を与える可能性があるかどうかはわかりません。可能だと思いますが、分岐がある場合とない場合の両方でメソッドのベンチマークを行いたいと思います。

関連:Cで飽和加算を行う方法は?

0 投票する
3 に答える
66430 参照

c - 未定義動作なしでCの符号付き整数オーバーフローをチェックする方法は?

(1)があります:

そして(2):

どちらが好ましいか、より良い方法があります。

0 投票する
10 に答える
23546 参照

language-agnostic - 整数オーバーフロー エラーとは何ですか?

整数オーバーフロー エラーとは何ですか? なぜ私はそのようなエラーを気にするのですか? それを回避または防止する方法にはどのようなものがありますか?

0 投票する
6 に答える
18847 参照

algorithm - 2の補数の整数を乗算しているときにオーバーフローを検出するにはどうすればよいですか?

2つの数値を掛けて、オーバーフローがあったかどうかを検出したいと思います。それを行う最も簡単な方法は何ですか?

0 投票する
5 に答える
15271 参照

java - Java Integer compareTo() - 比較と減算を使用する理由

java.lang.Integerメソッドの実装はcompareTo次のようになります。

問題は、減算ではなく比較を使用する理由です。

0 投票する
3 に答える
21917 参照

c - 符号なし整数アンダーフローのCの動作に関する質問

符号なし整数のオーバーフローは、符号付き整数のオーバーフローとは異なり、Cで明確に定義されていることを多くの場所で読んだことがあります。

アンダーフローは同じですか?

例えば:

ありがとう。

どこにあるか思い出せませんが、符号なし整数型の算術演算がモジュール式であるとどこかで読んだので、その場合は-1 == UINT_MAX mod(UINT_MAX + 1)です。

0 投票する
4 に答える
2757 参照

c++ - 整数オーバーフローのエラー

これは私の OpenGL コードの一部です。次のエラーが発生します。


0 投票する
5 に答える
22151 参照

security - 整数オーバーフローはどのように悪用されますか?

整数がどのように悪用されるかについての詳細な説明を誰かが持っていますか? 私はその概念について多くのことを読んでおり、それが何であるかを理解しており、バッファオーバーフローを理解していますが、整数をその定義されたメモリ....

0 投票する
1 に答える
770 参照

vba - VBA でのスリープ (整数オーバーフロー!!)

VBAでは次のことができます

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

睡眠ルーチンを提供します。

ただし、Longルーチンに渡す必要がある は、32000 ミリ秒を超える値でオーバーフローするように見えます。

スリープルーチンへのいくつかの連続した呼び出しをつなぎ合わせるという複雑さなしに、より長い時間スリープする方法はありますか?

0 投票する
12 に答える
187497 参照

java - Javaは整数のアンダーフローとオーバーフローをどのように処理し、どのようにチェックしますか?

Javaは整数のアンダーフローとオーバーフローをどのように処理しますか?

それから、これが起こっていることをどのようにチェック/テストしますか?