在查看一些源代码时,我发现一个C程序中有一个方法接受WORD、DWORD和PWORD类型的参数。我知道它们翻译成无符号数字,但为什么它们被称为WORD?
在计算机科学中,WORD是指“字”,是指由若干位二进制数组成的固定长度数据类型。WORD通常是16位,也就是两个字节。因此,在C程序中,WORD、DWORD和PWORD通常用于表示特定长度的无符号整数。字长和数据类型
字长是计算机一次处理的数据量。这类似于文档中字符(通常为八位)和页面(多个字,通常值为4或8KB)作为其他数据测量单位的类比。字长是整数字节数,例如1、2、4或8。当有人谈论某台机器的“n位”时,他们通常在谈论该机器的字长。例如,当人们说Pentium是32位芯片时,他们指的是其字长,即32位,或者四个字节。
处理器的通用寄存器(GPR)大小等于其字长。给定架构中组件的宽度,例如内存总线通常至少与字长一样宽。通常,在Linux支持的架构中,内存地址空间等于字长[2]。因此,指针的大小等于字长。此外,C类型long的大小等于字长,而int类型的大小有时小于字长。例如,Alpha具有64位字长。因此,寄存器、指针和long类型的长度都为64位。但是,int类型长度为32位。Alpha可以访问和操作64位,每次一个字。
WORD
在Windows API中表示2个字节。
最初它用于指代指针大小(例如一个具有16位字长的CPU)。
Windows API在Windows 3.1(仅支持16位机器)之前和之后使用了它,所以意义不能再改变了。
WORD
可能来自一些老代码,通常表示16位,而 DWORD
通常表示32位。如果您不确定,应该检查您的代码,因为它们必须在某个地方定义。
WORD
源自机器字,其大小取决于硬件。
WORD
不再是机器字的实际大小,而是为了兼容性而保持在16位。 - Dirk