C#中的short和ushort有什么区别?

时间:2010-03-27 03:23:47

标签: c# word ushort

C#中的 shortushort有什么区别?它们都是16位!

2 个答案:

答案 0 :(得分:14)

C#没有word类型。如果您的意思是shortInt16,则不同之处在于ushort是无符号的。

short可以是-3276832767的任何值,而ushort可以是065535。它们具有相同的总范围并使用相同的位数但以不同的方式解释,并且具有不同的最大值/最小值。

澄清:是一般的计算机科学术语,通常用于指代CPU在单个操作中可以处理的最大单个位组。因此,如果您的CPU(和操作系统)是32位,则单词为Int32UInt32(C#:int / uint)。如果您使用的是64位CPU / OS,则单词实际上是Int64/UInt64(C#:long / ulong)。术语“单词”通常仅指变量的位大小,而不是它在程序中的实际解释方式。

答案 1 :(得分:3)

(机器)字是处理器寄存器的原生大小。这通常是C用作int数据类型的大小。在C#中,数据类型具有固定大小,并且不依赖于处理器体系结构。

在英特尔汇编语言中,WORD数据类型表示16位,DWORD(双字)为32位,QWORD(四字)为64位。 {API}中也使用WORD类型,其含义相同。

因此,WORD数据类型对应于C#类型ushort