12

单词 shortushortC#有什么区别?它们都是16位!

4

2 回答 2

21

C# 没有word类型。如果您的意思是shortor Int16,则区别在于ushort未签名。

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

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

于 2010-03-27T03:25:55.523 回答
5

机器)字是处理器寄存器的本机大小。它通常是 C 用作int数据类型的大小。在 C# 中,数据类型具有固定大小,并且不依赖于处理器架构。

在 Intel 汇编语言中,WORD数据类型意味着 16 位,DWORD(双字)是 32 位,QWORD(四字)是 64 位。WORDWindows API 中也使用了该类型,含义相同。

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

于 2010-03-27T04:13:31.640 回答