2

一部のコードを 32 ビット整数のコンパイラから 64 ビットに移行しています。可能な限り高い整数が 2147483647 であり、可能な限り低い整数が -947483647 であると仮定する古いコードを見つけました。

私は最高 (符号付き 32 ビット整数の最大値) を理解していますが、最低の特別な理由を知っている人はいますか? ビジネス ロジックには、この整数 (ID に使用される) がその数値を下回ることができないことを示唆するものは何もありません。

Google を検索しても、誰かが INF と呼ばれる変数で 947483646 を使用した他のコードを除いて、ほとんど見つかりません (無限大/可能な最大数?「負の無限大」-947483647 になる符号付きの 2 の補数表現)。

それは単なる無意味な数字かもしれませんが、ビデオゲームのモンスター HP のような他の整数にその正確な数字を使用している他のいくつかのヒットもあります (他の近くの数字を検索しても結果は出ません)。その後ろに。

4

1 に答える 1

2

Int32 データ型には無限大の値がないため、マジック ナンバーをランダムに選択して INF を表すことができます。
+INF に最大の整数値 (2^31-1) を選択するのは当然です。
しかし、なぜ (-2^31) が -INF に選ばれなかったのでしょうか?
おそらく、印刷時に +INF と -INF の両方が同じ長さ (それぞれ 10 文字) でなければならないためです。

于 2013-05-13T21:54:59.673 に答える