2010-03-27 5 views

risposta

12

C# non ha un tipo word. Se si intende short o Int16, la differenza è che ushort non è firmato.

short può essere qualsiasi valore da -32768 a 32767, mentre ushort può essere da 0 a 65535. Hanno lo stesso intervallo totale e utilizzano lo stesso numero di bit, ma sono interpretati in modi diversi e hanno valori massimi/minimi diversi.

Chiarimento: una parola è un termine generico di informatica utilizzato in genere per fare riferimento al più grande singolo gruppo di bit che può essere gestito dalla CPU in una singola operazione. Quindi se la tua CPU (e il sistema operativo) sono 32-bit, allora una parola è Int32 o UInt32 (C#: int/uint). Se sei su una CPU/OS a 64 bit, una parola è in realtà un Int64/UInt64 (C#: long/ulong). Il termine "parola" di solito si riferisce solo alla dimensione del bit di una variabile rispetto a come viene effettivamente interpretata in un programma.

+0

Ah grazie, immagino che la lezione che stavo leggendo stesse semplicemente parlando concettualmente e ho capito che in realtà esiste un tipo di parola! – Adam

+0

Inoltre, una lingua può avere più di un nome per un tipo. Ad esempio, in C, un 'int', un' long', e un 'int32_t' sono gli stessi in alcune implementazioni. – Zarel

+0

@Adam: ho aggiunto un chiarimento che ritengo possa aiutare. "Parola" si riferisce a un gruppo di bit a dimensione fissa; tuttavia, ci possono essere molti modi diversi in cui questa parola può essere interpretata, ognuno dei quali forma un tipo in una lingua (come 'int' o' uint'). – Aaronaught

2

A (macchina) word è la dimensione nativa dei registri del processore. In genere è ciò che C ha utilizzato come dimensione per il tipo di dati int. In C# i tipi di dati hanno una dimensione fissa e non dipendono dall'architettura del processore.

In linguaggio assembly Intel il tipo di dati WORD ha finito per significare 16 bit, uno DWORD (doppia parola) è di 32 bit e uno QWORD (quadrupla) è di 64 bit. Il tipo WORD viene anche utilizzato nell'API di Windows con lo stesso significato.

Quindi, il tipo di dati WORD corrisponde al tipo C# ushort.

Problemi correlati