問題タブ [integer]

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 投票する
45 に答える
1732114 参照

integer - int32 の最大値は?

番号がどうしても思い出せません。記憶の法則が必要です。

0 投票する
9 に答える
5116 参照

language-agnostic - デフォルトで、言語が整数オーバーフローでエラーを発生させないのはなぜですか?

いくつかの最新のプログラミング言語 (C++、Java、および C# を含む) では、この言語では、実行時に整数オーバーフローが発生しても、エラー状態が発生することはありません。

たとえば、オーバーフロー/アンダーフローの可能性を考慮していない、この (考案された) C# メソッドについて考えてみましょう。(簡潔にするために、このメソッドは、指定されたリストが null 参照の場合も処理しません。)

このメソッドが次のように呼び出された場合:

sumList()メソッドでオーバーフローが発生します( intC# の型は 32 ビット符号付き整数であり、リスト内の値の合計が最大 32 ビット符号付き整数の値を超えるため)。sum 変数の値は -294967296 になります (4000000000 の値ではありません)。これはおそらく、sumList メソッドの (架空の) 開発者が意図したものではありません。

明らかに、開発者が整数オーバーフローの可能性を回避するために使用できるさまざまな手法があります。たとえば、Java の のような型を使用しBigIntegerたり、 C# でcheckedキーワードと/checkedコンパイラ スイッチを使用したりします。

しかし、私が興味を持っているのは、これらの言語が、たとえば、実行時に操作が実行されたときに例外を発生させて、オーバーフロー。このような動作は、オーバーフローが発生する可能性のある算術演算を実行するコードを記述する際に、開発者がオーバーフローの可能性を考慮することを怠った場合に、バグを回避するのに役立つようです。(これらの言語には、開発者がその動作を明示的に意図している場合に、例外が発生することなく整数オーバーフローの発生が許可されるブロックを指定できる「unchecked」キーワードのようなものが含まれていた可能性があります。C# には実際に this . )

答えは単純にパフォーマンスに帰着しますか?言語設計者は、該当するすべての算術演算で、オーバーフローが発生したかどうかを確認するためにランタイムが余分な作業を行う必要がある「遅い」算術整数演算をそれぞれの言語にデフォルトで設定することを望んでいませんでした。操作 - このパフォーマンスの考慮事項は、不注意なオーバーフローが発生した場合の「サイレント」障害を回避する価値を上回りましたか?

パフォーマンスの考慮事項以外に、この言語設計の決定にも他の理由はありますか?

0 投票する
15 に答える
81658 参照

c++ - 非常に大きな整数を処理するC++

私は暗号化/復号化にRSAアルゴリズムを使用しています。ファイルを復号化するには、かなり大きな値を処理する必要があります。より具体的には、

さて、それは本当に悪い計算をしている唯一の計算です。Matt McCutchenのBigIntegerライブラリを使用してみましたが、リンク中に次のような多くのコンパイラエラーが発生します。

そのため、RSAアルゴリズムから出力される非常に大きな整数を処理するための最善の方法は何でしょうか。

変数をdoublelongとして宣言する可能性があると聞いたので、...

しかし、格納できる整数の大きさは正確にはわかりません。


たとえば、devC++を使用して次のプログラムをコンパイルして実行しようとしています。

それから私はそれらのエラーを受け取ります。

デレク、私はBigIntegerLibrary.hhファイルを含めることで、コンパイラーが使用する必要なすべてのファイルを調べてコンパイルするだろうと思いました。

リンクエラーを解決するには、上記のプログラムをどのようにコンパイルしてみればよいですか?

0 投票する
14 に答える
21142 参照

perl - Perlで「0だが真」とはどういう意味ですか?

誰かが文字列「0 but true」が Perl で正確に何を意味するのか説明できますか? 私が理解している限り、整数比較ではゼロに等しくなりますが、ブール値として使用すると true に評価されます。これは正しいです?これは言語の通常の動作ですか、それともインタープリターで特別なケースとして扱われる特別な文字列ですか?

0 投票する
17 に答える
1150546 参照

python - 先行ゼロ付きの数値を表示する

与えられた:

2桁未満​​のすべての数値の先行ゼロを表示するにはどうすればよいですか?

これは私が期待している出力です:

0 投票する
31 に答える
445989 参照

c - 整数が偶数か奇数かを確認するにはどうすればよいですか?

Cで特定の数値が偶数か奇数かを確認するにはどうすればよいですか?

0 投票する
8 に答える
8729 参照

architecture - 32 ビット CPU では、「整数」型は「短い」型よりも効率的ですか?

32 ビット CPU では、整数は 4 バイトで、短整数は 2 バイトです。提供された短整数の範囲内に常に収まる多くの数値を使用する C/C++ アプリケーションを作成している場合、4 バイト整数と 2 バイト整数のどちらを使用する方が効率的ですか?

メモリから CPU へのバスの帯域幅に適合するため、4 バイト整数の方が効率的であると示唆されていると聞いたことがあります。ただし、2 つの短い整数を加算する場合、CPU は両方の値を 1 つのパスで並列にパッケージ化します (したがって、バスの 4 バイト帯域幅にまたがります)。

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

java - シーケンス生成の主キーの適切なサイズは?

現在、システムの主キーの長さは 10 桁で、Java 整数の制限をわずかに超えています。これらのキーの数値オーバーフローによって引き起こされる今後のメンテナンスの問題を回避したいのですが、同時に、必要のない無限大の数値を格納するためにシステム パフォーマンスを大幅に犠牲にしたくありません。

主キーのサイズをどのように管理していますか? より大きな Long よりもパフォーマンス上の利点があり、必要に応じてサイズを大きくするために、Java 整数に固執する方がよいでしょうか。シーケンスサイズ?

0 投票する
24 に答える
734927 参照

c++ - How to concatenate a std::string and an int

I thought this would be really simple, but it's presenting some difficulties. If I have

How do I combine them to get a single string "John21"?

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

c# - 整数フォーマット、指定された長さへのパディング

整数の出力を指定された長さにパディングする必要があります。

たとえば、長さが4桁の場合、整数4の出力は「4」ではなく「0004」になります。C#2.0でこれを行うにはどうすればよいですか?