在浏览一些源代码时,我在C程序中找到了一个方法,它接受WORD,DWORD和PWORD类型的参数。我知道他们会转换成无符号数字,但他们为什么称为WORD?
答案 0 :(得分:26)
单词大小和数据类型
单词是计算机一次可以处理的数据量。这适用于包含字符(通常为8位)和页面(许多单词,通常为4或8KB)的文档类比,作为其他数据测量。字是整数个字节,例如,一个,两个,四个或八个。当有人谈论机器的“n位”时,他们通常会谈论机器的字大小。例如,当人们说Pentium是一个32位芯片时,它们指的是它的字大小,即32位或4个字节。
处理器的通用寄存器(GPR)的大小等于其字大小。给定体系结构中的组件的宽度,例如,存储器总线通常至少与字大小一样宽。通常,至少在Linux支持的体系结构中,内存地址空间等于字大小[2]。因此,指针的大小等于字大小。另外,C类型long的大小等于字大小,而int类型的大小有时小于字大小的大小。例如,Alpha具有64位字长。因此,寄存器,指针和long类型的长度为64位。但是,int类型是32位长。 Alpha可以一次访问和操作64位,一个字。
答案 1 :(得分:3)
WORD
表示2个字节。
它最初用于指代指针大小(如在字长为16位的CPU中) Windows API在{3.1}中(以及之前)Windows 3.1(仅支持16位计算机)中使用它,因此其含义不再更改。
答案 2 :(得分:2)
WORD
可能来自一些较旧的代码,通常意味着16位,而DWORD
通常意味着32位。如果你不确定你应该检查你的代码,因为它们必须在某处定义。
WORD
源于机器字,其大小取决于硬件。