2010-03-27 138 views

回答

12

C#沒有word類型。如果您的意思是shortInt16,則區別在於ushort未經簽名。

short可以從-3276832767任何值,而ushort可以從065535。它們具有相同的總範圍並使用相同的比特數,但以不同的方式進行解釋,並具有不同的最大值/最小值。

說明:A 單詞是一個通用的計算機科學術語,通常用於指CPU可以在單個操作中處理的最大的一組位。所以如果你的CPU(和操作系統)是32位的,那麼一個字是Int32UInt32(C#:int/uint)。如果您使用的是64位CPU/OS,則實際上一個字是Int64/UInt64(C#:long/ulong)。術語「字」通常僅指變量的位大小,而不是其在程序中的實際解釋方式。

+0

啊,謝謝,我想我讀的課只是在概念上談論它,我明白,實際上是一種單詞類型! – Adam

+0

另外,一種語言可以具有多個類型的名稱。例如,在C中,一個'int',一個'long'和一個'int32_t'在一些實現中是相同的。 – Zarel

+0

@亞當:我補充說明,我認爲可能有所幫助。 「字」是指固定大小的位組;然而,可能有許多不同的方式可以解釋這個單詞,每個單詞都可以在一種語言中形成一個類型(例如'int'或'uint')。 – Aaronaught

2

A (機器)字是處理器寄存器的原生大小。這通常是C用作int數據類型的大小。在C#中,數據類型具有固定的大小,並且不依賴於處理器體系結構。

在Intel彙編語言中,WORD數據類型已經意味着16位,DWORD(雙字)是32位,並且QWORD(四字)是64位。 WORD類型也用於具有相同含義的Windows API。

因此,WORD數據類型對應於C#類型ushort