WORD分别在32/64位操作系统中包含多少位?

时间:2011-03-14 07:34:44

标签: word

任何人都有明确的答案吗?

有人说在32位操作系统上,WORD意味着16位,是吗?

4 个答案:

答案 0 :(得分:41)

通常,字大小是指处理器寄存器的大小。在32位处理器上,这将是32位。在64位处理器上,这将是64位。

处理器的位大小在某种程度上与OS的位大小无关。例如,您可以在64位处理器上运行32位窗口。您的字大小仍然是64位,但程序将无法处理整个处理器字。

在传统的Windows编程中,有一个名为WORD的宏定义,其大小为16位。当处理器为16位时,这是有意义的。但是,即使编译包含32位或64位目标宏的代码,它仍然是16位。

让低级代码面向未来是很困难的,这是你(或微软)可能出错的一个例子:)

答案 1 :(得分:2)

这不是建立字大小但是你的机器架构的操作系统。 32位架构使用32位字。

答案 2 :(得分:1)

一个字是16位DWORD(双字)的大小是在编程时使用的32位字的大小的两倍但是......

操作系统中的Word名称是显示在操作系统中的数字,因此如果它说64位一个字(存储区为adres)在这种情况下为64位

所以它取决于您从编程或操作系统编号中查看它的角度

答案 3 :(得分:0)

没有明确的答案。

传统上,术语“字”是指处理器的寄存器和主数据路径的大小。按照这个定义,“字”在您的32位系统上为32位,在64位系统上为64位。

但是,当扩展处理器系列以添加更宽的寄存器/操作模式时,这些处理器的制造商和用户有时仍会使用“ word”来指代原始处理器的字长。当软件从一个处理器家族移植到另一个处理器家族时,也会发生同样的情况。

Intel x86文档使用术语“单词”¹表示16位数量。这种用法会渗入最初为x86开发的软件环境,例如Windows API和Borland风格的pascal。

另一方面,手臂文档使用术语“单词”²表示32位数量。

¹参见https://software.intel.com/sites/default/files/managed/a4/60/253665-sdm-vol-1.pdf

中的第4.1节

²请参见https://static.docs.arm.com/ddi0487/db/DDI0487D_b_armv8_arm.pdf

中的A1.4节