回答:
「u」で始まるプリミティブデータ型は、同じビットサイズの符号なしバージョンです。これは事実上、負の数を格納できないことを意味しますが、その一方で、符号付きの対応するものの2倍の大きさの正の数を格納できます。署名された対応物には、「u」が前に付いていません。
int(32ビット)の制限は次のとおりです。
int: –2147483648 to 2147483647
uint: 0 to 4294967295
そして長い間(64ビット):
long: -9223372036854775808 to 9223372036854775807
ulong: 0 to 18446744073709551615
uint
そして、ulong
の符号なしのバージョンですint
とlong
。それは彼らが否定的であってはならないことを意味します。代わりに、最大値が大きくなります。
タイプMin Max 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を書くには、サフィックスu
などU
を使用できます123U
。
CLSに準拠したい場合は、パブリックインターフェイスでuintとulongを使用しないでください。
詳細については、ドキュメントをご覧ください。
違いは、uint
およびulong
は符号なしデータ型であること、つまり範囲が異なることです。これらは負の値を受け入れません。
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