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

Ada*_*dam 12 c# ushort cpu-word

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

Aar*_*ght 17

C#没有word类型.如果你的意思short或者Int16,所不同的是ushort无符号.

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

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


Guf*_*ffa 5

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

在 Intel 汇编语言中,WORD数据类型表示 16 位,a DWORD(双字)是 32 位,a QWORD(四字)是 64 位。该WORD类型也用于 Windows API,具有相同的含义。

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