Was ist der Unterschied zwischen einem short und ushort in C#?
Was ist der Unterschied zwischen einer Wort short
und ushort
in C#? Sie sind beide 16 bit!
InformationsquelleAutor Adam | 2010-03-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
C# nicht eine
word
geben. Wenn du meinstshort
oderInt16
, der Unterschied ist, dassushort
ist unsigniert.short
kann ein beliebiger Wert von-32768
zu32767
, in der Erwägung, dassushort
können von0
zu65535
. Sie haben die gleiche Reichweite und die gleichen Anzahl von bits, sondern sind auf verschiedene Weise interpretiert und haben verschiedene Maxima/minima.Klarstellung: Eine Wort ist eine Allgemeine informatik-Begriff, der in der Regel verwendet, um auf die größte Gruppe von bits, die verarbeitet werden können, die von der CPU in einem einzigen Vorgang. Also, wenn deine CPU (und Betriebssystem) sind 32-bit, dann ein Wort ist eine
Int32
oderUInt32
(C#:int
/uint
). Wenn Sie auf einem 64-bit-CPU/OS, ein Wort, das ist tatsächlich einInt64/UInt64
(C#:long
/ulong
). Der Begriff "Wort" bezieht sich meist nur auf die bit-Größe von einer Variablen, im Gegensatz zu, wie es tatsächlich ist, interpretiert in einem Programm.Zusätzlich kann die Sprache mehr als ein name für ein Typ ist. Zum Beispiel, in C, ein
int
einelong
, und einint32_t
sind gleichzeitig in einigen Implementierungen.Ich fügte hinzu, in einer Klarstellung, die ich denke, könnte helfen. "Wort" bezieht sich auf eine Feste Größe der Gruppe von bits; es gibt jedoch viele verschiedene Möglichkeiten, dieses Wort kann interpretiert werden, von denen jede bildet eine Art in einer Sprache (wie
int
oderuint
).Ja, genau. Wenn ich mich Recht erinnere, C++ und C in der Regel typedef
WORD
alsunsigned int
, also in diesem Fall ist es äquivalent zur C#uint
. Allerdings gibt es keine solche typedefs in C#, du musst explizit angeben[u]short/int/long
und diese sind alle Aliase für die CLR-Strukturen[U]Int16/Int32/Int64
.Nein, WORD ist 16 bit. Die erste version von Windows lief auf 16-bit-CPUs.
InformationsquelleAutor Aaronaught
Einen (Maschinen -) Wort ist die native Größe des Prozessor-Register. Es ist in der Regel, was C hat als Größe für die
int
Daten geben. In C# die Daten-Typen und hat eine Feste Größe und nicht abhängig von der Prozessor-Architektur.In Intel-Assembler die
WORD
Daten Typ meint 16 bits, eineDWORD
(Doppel-Wort) ist 32 bit und eineQWORD
(quad word) ist 64 bit. DieWORD
Typ wird auch in der Windows-API mit der gleichen Bedeutung.So, die
WORD
Datentyp entspricht dem C# - Typushort
.InformationsquelleAutor Guffa