int のサイズはマシンに依存すると聞いたことがあります。int のサイズは 32 ビットだといつも思っていました。誰かがこの難問を説明できますか?
4 に答える
C# では、int
型は常に でありInt32
、常に 32 ビットです。
他の一部の言語には異なるルールがあり、int
マシンに依存する場合があります。特定の言語でint
は、 は最小サイズを持つと定義されていますが、マシン/実装固有のサイズは少なくともその大きさです。たとえば、C++ では、int データ型は必ずしも 32 ビットではありません。基本的なデータ型から:
一般的な仕様では、int はシステム アーキテクチャによって提案される自然なサイズ (1 つの「単語」) を持ち、char、short、int、long の 4 つの整数型はそれぞれ少なくとも前のものと同じ大きさでなければなりません。サイズは常に 1 バイトです。
ただし、.NET ではこれが標準化されているため、実際には型は 、 などとして指定されますInt32
。C Int64
# では、int
は のエイリアスでSystem.Int32
あり、常に 32 ビットになります。4.1.5 Integral Types
これは、C# 言語仕様の次のセクションで保証されています。
int 型は、値が –2147483648 ~ 2147483647 の符号付き 32 ビット整数を表します。
MSDNint
は 32 ビットであると述べています。その人はおそらく C++ について話していましたか?
C#言語仕様から:
この
int
タイプは、–2147483648〜2147483647の値を持つ符号付き32ビット整数を表します。
int
のエイリアスですSystem.Int32
。System.Int16
、System.Int64
およびも使用できますBigInteger
。