問題タブ [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 投票する
7 に答える
7816 参照

c++ - C /C++で符号付き整数のオーバーフローを許可する

符号付き整数が大きくなりすぎたときにオーバーフローさせたい。次に大きいデータ型を使用せずに(またはすでにint128_tにいるときに)それを達成するにはどうすればよいですか?

たとえば、8ビット整数を使用すると19 * 12は通常260ですが1 11 10 01 00、9番目のビットを切り取った結果、つまり-27が必要です。

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

c++ - C++ で一度に大きな整数入力を取得する

一度に 1000 桁の整数入力を取りたいのですが、その桁を個別に追加したいのですが、そのような大きな入力を取るための入力方法はありますか?

0 投票する
2 に答える
802 参照

linux - Jiffies Counter Over Flow ケース + Linux

Jiffies カウンターは、サイズが 4 バイトの符号なし整数を返します。カウンターが最大値に達すると、再び 0 から再開します。期間を取得するために、古い値で最新の値を減算します。では、古い値が最大値で新しい値がゼロより大きい場合、間違った期間を取得するようにするにはどうすればよいですか?

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

c++ - 2 つの文字を加算すると int が生成されます

簡単なプログラムを作成し、GCC 4.4/4.5 で次のようにコンパイルしました。

g++ -c -Wconversion a.cpp

そして、私は次のものを持っています:

次のコードに対して同じ警告が表示されます。

2 つの文字 (または 2 つの unsigned short) を追加すると int が生成される理由を誰か説明してもらえますか? それはコンパイラのバグですか、それとも標準に準拠していますか?

ありがとう。

0 投票する
2 に答える
201 参照

c - long ans = ((long) INT_MIN) * 2 - 1; 整数オーバーフローによる警告の原因

コードにこれがあり、次の警告が発生しています。

私が得る警告は次のとおりです。

INT_MIN を使用できるように、limits.h を含めました。

0 投票する
13 に答える
2932 参照

c# - 整数オーバーフローが発生するのはなぜですか?

この質問のトピックは、VS が C# の算術オーバーフローをチェックし、例外をスローする方法です: C# オーバーフローが機能していませんか? オーバーフロー チェックを有効にする方法

コメントの 1 つは奇妙なことを述べており、多くの支持を得ました。ここで私を助けてくれることを願っています:

また、checked キーワードを使用してステートメントまたは一連のステートメントをラップし、算術オーバーフローが明示的にチェックされるようにすることもできます。多くの場合、オーバーフローはかなり合理的な予想であるため、プロジェクト全体のプロパティを設定するのは少し危険です。

ハードウェアについてはよくわかりませんが、オーバーフローがレジスタの動作に関係していることは知っています。オーバーフローは未定義の動作を引き起こすため、可能な限り防止する必要があると常に考えていました。(「通常の」プロジェクトでは、悪意のあるコードを記述していません)

オーバーフローが発生することを期待する理由と、可能性がある場合に常にそれを防止しない理由は何ですか? (対応するコンパイラ オプションを設定することにより)

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

c - プログラムの実行に影響を与えない整数のオーバーフローが発生した場合、プログラムは何をすべきですか?

プロンプトでユーザーからの入力を受け取る小さなプログラムがあります。ユーザーから事前定義された入力を受け取り、それらを実行します。

また、コマンドの数を示すプロンプトとともに数値が表示されます。

ユーザーが一度に65535を超えるコマンドを指定することはないと思います。そのため、countunsigned shortデータとして保存されます。

問題:

ユーザーが実際にこのコマンド数の制限を超えた場合に、プログラムがこのケースをどのように処理する必要があるのか​​わかりません。カウントを0にロールオーバーする(そしてループを続ける)か、65535のままにする必要がありますか?

ユーザー入力を受け取り、以前と同じように処理する場合のように、プログラムを引き続き正常に機能させたいと思います。また、countの値は、コマンドの実行にはまったく影響しません。

0 投票する
2 に答える
7018 参照

c++ - qint64をQProgressBarのintにうまく「キャスト」する方法

私はQFtpで遊んでいます(はい..私は知っています)そしてすべてがうまくいきます。

ガイドラインとして、独自の例のコードを使用します。

http://doc.qt.io/archives/qt-4.7/network-qftp-ftpwindow-cpp.html

私が抱えている唯一の問題は、大きなファイル(たとえば、3 GB)を送信(または受信)するときに、プログレスバーがグリッチアウトすることです。

これは、qint64からintinへのキャストによるものです。

約1時間グーグルして、範囲外にならないように「安全」に保つことに決めた後、これを処理するための最も良い方法は何でしょうか。

しかし、それは正しく「感じ」ません。。

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

c++ - 警告: 暗黙の定数変換でのオーバーフロー

次のプログラムでは、5 行目で予想どおりオーバーフローの警告が表示されます が、驚くべきことに、GCC では 4 行目では警告が表示されません: http://www.ideone.com/U0BXn

両方の行でオーバーフローの警告が表示されるはずだと考えていました。または、私が見逃しているものがありますか?


この実験を行うきっかけとなったトピックは次のとおりです: typedef 型チェック?

そこで私は次のように言いました(実行すると、期待どおりに表示されなかったため、回答から削除しました):

0 投票する
7 に答える
1633 参照

java - int変数の範囲に疑問がある

int値の範囲に疑問があります

なぜ ?