| bit | Byte | WORD | DWORD | QWORD |
| 比特 | 字节 | 字 | 双字 | 四字 |
| HighByte+LowByte | HighWORD+LowWORD | HighDWORD+LowDWORD | ||
| char | short | long | ||
| 1bit | 8bit | 16bit | 32bit | 64bit |
| 1个ASCII码 | 2个字节 | 4个字节 | 8个字节 | |
| 0123456789ABCDEF | 02468ACE | 048C | 0808 |
字长不是字
“字”(WORD)通常指的是一个固定长度的二进制数,它是一个计算机一次可以处理或传输的数据块。
32/64位机器的字长
- 32位机器:字长是32位,即4个字节,两个字。
- 64位机器:字长是64位,即8个字节,四个字。
查看当前机器的字长
可以通过以下命令在Linux系统中查看机器的字长:
- uname -m:显示机器的架构信息,如x86_64表示64位架构,i686或i386表示32位架构。
- getconf LONG_BIT:直接显示系统字长的位数,如输出64表示64位系统。
虚拟地址范围
- 32位机器:虚拟地址空间通常是2^32个地址,即4GB的虚拟内存空间。
- 64位机器:虚拟地址空间通常是2^64个地址,即16EB(Exabytes)的虚拟内存空间。
对应的物理内存地址
物理内存地址的范围取决于计算机的架构和设计,以及系统的具体实现。对于大多数现代计算机,物理内存的寻址能力如下:
- 32位机器:传统上,32位系统能够寻址的物理内存空间是4GB,但由于分页机制和操作系统的限制,实际可用的物理内存可能少于这个值。
- 64****位机器:64位系统理论上可以寻址2^64字节的物理内存,但实际的物理内存寻址能力受到硬件和操作系统的限制。现代64位系统通常可以支持数TB的物理内存。此外,不同的操作系统和配置可能会使用不同的寻址技术,如物理地址扩展(PAE),来扩展32位系统的寻址能力。