Ich weiß über int
und long
(32-Bit- und 64-Bit-Zahlen), aber was sind uint
und ulong
?
Ich weiß über int
und long
(32-Bit- und 64-Bit-Zahlen), aber was sind uint
und ulong
?
Antworten:
Die primitiven Datentypen mit dem Präfix "u" sind vorzeichenlose Versionen mit denselben Bitgrößen. Tatsächlich bedeutet dies, dass sie keine negativen Zahlen speichern können, andererseits können sie positive Zahlen doppelt so groß speichern wie ihre signierten Gegenstücke. Den signierten Gegenstücken wird kein "u" vorangestellt.
Die Grenzen für int (32 Bit) sind:
int: –2147483648 to 2147483647
uint: 0 to 4294967295
Und für lange (64 Bit):
long: -9223372036854775808 to 9223372036854775807
ulong: 0 to 18446744073709551615
uint
und ulong
sind die nicht signierten Versionen von int
und long
. Das heißt, sie können nicht negativ sein. Stattdessen haben sie einen größeren Maximalwert.
Typ Min Max CLS-konform int -2,147,483,648 2,147,483,647 Ja uint 0 4,294,967,295 No. lang –9.223.372.036.854.775.808 9.223.372.036.854.775.807 Ja ulong 0 18.446.744.073.709.551.615 Nr
Um ein Literal ohne Vorzeichen in Ihren Quellcode zu schreiben, können Sie das Suffix u
oder U
zum Beispiel verwenden 123U
.
Sie sollten uint und ulong nicht in Ihrer öffentlichen Benutzeroberfläche verwenden, wenn Sie CLS-konform sein möchten .
Weitere Informationen finden Sie in der Dokumentation:
u
bedeutet unsigned
, so ulong
ist eine große Zahl ohne Vorzeichen. Sie können einen größeren Wert in ulong
als speichern long
, aber keine negativen Zahlen sind zulässig.
Ein long
Wert wird in 64-Bit gespeichert, wobei die erste Ziffer anzeigt, ob es sich um eine positive / negative Zahl handelt. während ulong
ist auch 64-Bit, mit allen 64-Bit, um die Nummer zu speichern. Das Maximum von ulong ist also 2 (64) -1, während long 2 (63) -1 ist.
Der Unterschied besteht darin, dass die Datentypen uint
und ulong
ohne Vorzeichen sind, was bedeutet, dass der Bereich unterschiedlich ist: Sie akzeptieren keine negativen Werte:
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