字 (计算机)

字长的选择

在设计计算机时，字长的选择是非常重要的。设计上的考虑倾向于为特定的用途（如地址）设定特定的位长。然而，出于经济的考虑，又应该仅使用一种尺寸，或者很少的几种与基本尺寸成倍数或分数（约数）关系的尺寸。这个首选的基本尺寸就成为该构架的字长。
字符的尺寸对于字长的选择也有影响。20世纪60年代中期以前，字符大部分以6位存储；这样最多允许64个字符，因此不能又大写字符。由于将字长定义成字符尺寸的倍数在处理时间和存储空间上都比较划算，所以这个时期字长也就被定义为6位（在二进制机器上）的倍数。通常的选择是36位字长，这也是适合于浮点数格式的一个长度。
随着IBM360系统的引入——该系统使用8位字符，并支持大小写字母——标准的字符（确切地说：字节）尺寸也转变成为8位。从那以后，字长也自然变成了8的倍数，16、32、64位字长被广泛使用。

各种字长的架构

早期的计算机设计中包括所谓的“可变字长”设计。（原文：Early machine designs included some that used what is often termed a variable word length.——译者）。在这类设计中，数字操作数没有固定的长度，它们通过检查某个特殊字符来判断是否结束。这样的机器使用BCD编码表示数字，例如IBM 702、IBM 705、IBM 7080、IBM 7010、UNIVAC 1050、IBM 1401和IBM 1620。
大部分这样的机器一次处理一个存储单元，因为每条指令和数据占用的数个单元，所以指令将使用数个周期来读取存储器。这类机器经常因为这个原因变得非常慢。例如，在IBM 1620 Model I上，取指令需要8个周期，只是为了读取12个数字（Model II降低到6个周期，不过如果指令不需要取其中的一个1个地址域的话，可以只需要4个周期；如果两个都不需要，则只需要1个周期）

字和字节编址

字长对计算机构架的存储器模式有很大的影响。特别是：通常选择字作为存储器的编址方案，所谓存储器编址方案就是地址码能够指定的最小存储单位。In this approach，编号相邻的内存字组，其地址编号相差一。在计算机中这样很自然，因为它通常总是要处理以字为单位的数据（或者是以字的倍数）。并且具有让指令可以使用最小的长度来指定一个地址的优点，这样，就可以减少指令长度或者可以定义更多的指令条数。
当计算机很大的工作量是用来处理字节时，通常定义字节作为地址编址单位要比字更好。这样做字符串中的单个字符可以通过地址直接指定。当然，一个字仍然可以被地址访问，但是比起字编址方案，它的地址将使用更多的位数。在这种组织结构中，字长需要被定义为字符长度的整数倍。这种编址方案在IBM 360中被使用，此后即变成计算机设计中最普遍的方案。

2的幂

数据常常要占用不同大小的存储空间，例如，有些数值比其他的数值要求有更高的精度。通常使用的长度是编址单位（以字为单位编址或以字节为单位编址）的倍数，这个倍数常常是的2的幂。这样做是比较便利的，因为这样的话，将一个处理对象在数组中的索引值转化为这个处理对象的地址只需要进行一个移位操作（这在硬件上只需要进行布线的变化）而不需要进行乘操作。某些时候这样的做法还可以避免除操作。因此，一些现代计算机设计使用的字长（或者其他的操作数）是2的幂乘以字节尺寸。

字长家族

随着计算机设计日益复杂，一个单一字长的核心作用在计算机架构中已经不那么重要。虽然硬件有能力支持更宽的数据类型，但是在扩展处理器性能时，市场却有强大的压力要求新产品保持向后兼容。因此，在一个新构架的向后兼容的设计中，核心的字长不得不与原始机型的字长共存。原始的字长在未来设计中保持可用，这就构成了字长家族的基础。
这种情形的一个主要的实例是x86系列的设计。原始的8086构架无疑是使用16位字长的。80386在8086的基础上进行了大幅改进，使其基于32位系统构架。如果不用考虑其他因素，它将是32位的，但是作为8086的扩展，它的字长继续被当作16位的。（也因此，有人说80386和它的后继处理器是"32位"的（32-bit），但不是32位字的（32-bit word），原文：As a result of this, one hears of the 80386 and successor processors as being "32-bit", but usually not as having a 32-bit word.——译者）同样的情形最近又发生了，当AMD64构架使64位在系统构架具有主要地位，但是它仍然没有放弃对16位和32位的支持。
因此，今天我们看到的计算机体系结构更多的是基于一个有联系的、类似的字长家族，而不是一个单一的字长体系结构。这些尺寸以整因子（integral factors）——通常是2的幂——互相关联。直接将它们中的任何一个尺寸定义为该系统的字长是武断的，因为这些尺寸的设计可能是因为这一系列体系构架的发展的历史原因，而不是体系自己的最新设计中的特性。

Dword和Qword

在计算机科学中, dword（双倍字）是一种数据单位，它是字的二倍或者说是qword的一半。在具有16位字长的x86平台上，dword数据单位具有32位长度。
qword（四倍字）是字长的四倍的一种数据单位。在通用的x86平台上，该单位的数据具有64位，因为x86系统的字定义为16位（不论实际的机器上工作在那个基本位长上的）
另外，Intel使用术语double quadruple word，或者DQWord（双四倍字）来指定128位数据，这在SSE和它的更原始版本中可以看到。