ホームページ >Java >&#&チュートリアル >32 ビットを使用しているにもかかわらず、C と Java の整数の範囲が異なるのはなぜですか?
C と Java の整数範囲の違いを理解する
C と Java はどちらも整数データ型の 32 ビット表現を指定していますが、その違いは次のとおりです。
C のマシン依存の整数表現
C では、整数のサイズと範囲は、次によって明示的に定義されていません。言語に依存するため、マシンに依存するバリエーションが許容されます。従来、32 ビット マシンでは、整数は 32 ビットを占有し、その範囲は (-231) から (231-1) となり、-32,768 から 32,768 までのスペクトルをカバーします。
Java の標準化された整数表現
対照的に、Java の Java 言語仕様では、その整数データ型が厳密に定義されています。 32 ビット整数 (Java では「long」と呼ばれる) は、一貫して (-231) から (231-1) の範囲にあり、C と同じ数値間隔をカバーします。 .
範囲の不一致の理由
C と Java の主な違いは、ビットの割り当て方法にあります。 C では、コンパイラと基礎となるハードウェアが整数表現を決定できるため、システムごとに異なるサイズと範囲が生成される可能性があります。一方、Java は、実行されるプラットフォームに関係なく標準化された 32 ビット サイズを強制し、一貫した整数の動作を保証します。
以上が32 ビットを使用しているにもかかわらず、C と Java の整数の範囲が異なるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。