141

intlong(32 ビットおよび 64 ビットの数値)については知っていますがuint、 と とは何ulongですか?

4

5 に答える 5

272

「u」で始まるプリミティブ データ型は、同じビット サイズの符号なしバージョンです。事実上、これは負の数を格納できないことを意味しますが、一方で、符号付きの対応するものの 2 倍の大きさの正の数を格納できます。署名された対応するものには、接頭辞「u」がありません。

int (32 ビット) の制限は次のとおりです。

int: –2147483648 to 2147483647 
uint: 0 to 4294967295 

そして長い間(64ビット):

long: -9223372036854775808 to 9223372036854775807
ulong: 0 to 18446744073709551615
于 2010-09-16T06:39:27.030 に答える
43

uintとはとulongの無署名バージョンです。つまり、ネガティブにはなれないということです。代わりに、最大値が大きくなっています。intlong

タイプ 最小 最大 CLS 準拠
int -2,147,483,648 2,147,483,647 はい
uint 0 4,294,967,295 いいえ
long –9,223,372,036,854,775,808 9,223,372,036,854,775,807 はい
ulong 0 18,446,744,073,709,551,615 いいえ

ソース コードでリテラル unsigned int を記述するには、接尾辞uorUを使用できます123U

CLS に準拠したい場合は、パブリック インターフェイスで uint と ulong を使用しないでください。

詳細については、ドキュメントを参照してください。

ちなみに、shortushortbytesbyteもあります。

于 2010-09-16T06:39:20.663 に答える
12

違いは、uintulongが符号なしのデータ型であることです。つまり、範囲が異なります。これらは負の値を受け入れません。

int range: -2,147,483,648 to 2,147,483,647
uint range: 0 to 4,294,967,295

long range: –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
ulong range: 0 to 18,446,744,073,709,551,615
于 2010-09-16T06:40:40.240 に答える
10

uを意味するunsignedので、ulong符号なしの大きな数です。ulongよりも大きな値を格納できますlongが、負の数は許可されません。

値は 64 ビットで格納され、そのlong最初の桁が正数か負数かを示します。whileulongも 64 ビットで、すべて 64 ビットで数値を格納します。したがって、ulong の最大値は 2(64)-1 ですが、long の最大値は 2(63)-1 です。

于 2010-09-16T06:40:47.573 に答える