| 2147483647 | |
|---|---|
| 枢機卿 | 21億4748万3647 |
| 序数 | 2147483647番目(21億4748万3647番目) |
| 因数分解 | プライム |
| プライム | 105,097,565位 |
| ギリシャ語の数字 | ͵γχμζ´ |
| ローマ数字 | 該当なし、該当なし |
| バイナリ | 11111111111111111111111111111111 2 |
| 三元 | 12112122212110202101 3 |
| セナリー | 553032005531 6 |
| 8進数 | 17777777777 8 |
| 12進数 | 4BB2308A7 12 |
| 16進数 | 7FFFFFFF 16 |

2147483647は 8 番目のメルセンヌ素数で、2 31 − 1に等しい。これは、知られている 4 つの二重メルセンヌ素数の 1 つです。[ 1 ]
この数の素数性は、レオンハルト・オイラーによって証明され、彼は1772年にダニエル・ベルヌーイに宛てた手紙の中でその証明を報告した。 [ 2 ]オイラーは試行除法を用い、ピエトロ・カタルディの方法を改良し、最大で372回の除算で済むようにした。 [ 3 ]これにより、40年前にオイラーによって発見された、それまでの記録保持素数である6,700,417を上回った。2,147,483,647は1867年まで既知の最大の素数であり続けた。[ 4 ]
コンピュータの世界では、この数値は符号付き32ビット整数フィールドが保持できる最大値です。
発見当時、2,147,483,647は既知の最大の素数であった。1811年、ピーター・バーロウは著書『数の理論の初等的考察』の中で次のように記している。
オイラーは、2 31 − 1 = 2147483647 が素数であることを確認しました。これは現在知られている最大の素数であり、したがって、これに依存する上記の完全数の最後のもの[つまり 2 30 (2 31 − 1)] は、現在知られている最大の完全数であり、おそらく今後発見される最大の完全数でもあります。なぜなら、それらは単に興味深いだけで役に立たないため、誰もそれを超えるものを見つけようとはしないからです。[ 5 ]
彼は1814年の著書『新数学・哲学辞典』の中でこの予測を繰り返した。[ 6 ] [ 7 ]
より大きな素数である 67,280,421,310,721 は 1855 年にトーマス・クラウゼンによって発見されましたが、彼は証明を提供しませんでした。1867 年に、数 3,203,431,780,337 が素数であることが証明されました。[ 4 ]
2,147,483,647( 16進数では7FFFFFFF 16 )は、コンピュータにおける32ビット符号付きバイナリ整数の最大正値です。したがって、多くのプログラミング言語において、整数として宣言された変数(例えば、)の最大値となります。int
Unixなどのオペレーティングシステムで使用されるデータ型time_tは、 Unixエポックの開始( 1970年1月1日午前0時UTC)からの秒数をカウントする符号付き整数であり、多くの場合32ビット整数として実装されます。[ 8 ]この形式で表現できる最新の時刻は、 2038年1月19日火曜日の03:14:07 UTC (エポックの開始から2,147,483,647秒に相当)です。これは、32ビット型を使用するシステムが2038年問題の影響を受けやすいことを意味します。[ 9 ] time_t
2022年1月1日、 Microsoft Exchangeシステムでメール配信が失敗するバグが報告されました。内部マルウェアスキャナー(2013年からデフォルトで有効)は、日付と時刻を符号付き32ビット整数として使用していました。この整数は新年中に2,201,010,001(最初の2桁は年を表す)に変化し、このデータ型の最大値を超えました。[ 10 ]
2,147,483,647 という数値は、ポイントやお金など、ビデオゲームのさまざまな統計が符号付き 32 ビット整数 (浮動小数点、倍精度、任意精度ではなく) で表現されている場合、ハード リミットとなることがよくあります。[ 11 ] [ 12 ]正当な手段、またはゲームの改造やハッキングによってこの制限を超えると、整数オーバーフローによってさまざまな結果が生じます。[ 13 ]最も一般的な結果は、数値が負の値に「ラップアラウンド」することです。もう 1 つの可能性のある結果は、ゲームがクラッシュすることです。これは、値が符号付き 32 ビット制限を超えた場合にフェイルセーフが実装されていないことを意味します。これは一般的に、基盤となるエンジンが整数オーバーフローに対してラップアラウンド動作ではなく未定義動作をする場合です。ビデオゲームでよく知られている例としては、 Old School RuneScapeやGrand Theft Auto Vがあり、この数値は、通常の方法でプレイヤーが一度に保持できるコイン (またはその他のアイテム) の最大量として使用され、「最大キャッシュスタック」として知られています。[ 14 ] [ 15 ]同様に、符号付き 32 ビット整数ではなく符号なし32 ビット整数が使用される場合、制限は4,294,967,295に拡張される可能性があります。[ 11 ]
計算がゲーム言語の最大整数制限(21億)を超えないことを確認するのが適切です。残念ながら、この計算に使用されたロジックは間違っており、他のアイテムのスタック(ポーチ自体ではない)で実行された場合、結果としてスタックが21億コインに変換されました。