跳转到内容

字、字长、寻址、字节顺序

字的数据大小

首先得知道,什么是字?

字是CPU一次能处理的基本数据单元的位数,由CPU的寄存器宽度和运算器设计决定的。它是计算机体系结构中的最小可处理数据块。

字的关键特性如下:

  • 硬件决定: 由CPU架构固定(如:Intel x86_64的字长=64位)
  • 数据单位:1字=N位(N为字长)
  • 内存操作:CPU读写内存时,以字为单位传输数据(如64位CPU一次读8字节)
  • 指令基础:机器指令的操作数,默认以字为处理单元

例:

  • 32位系统:1字=32位(4字节)
  • 64位系统:1字=64位(8字节)

字长:是字的“宽度”(位数),指CPU一次性能并行处理的二进制位数(即CPU寄存器、数据总线的宽度)。它直接决定了计算机的数据处理能力、内存寻址范围及性能上线。

字长的作用:

  • 寻址能力

    • 32位字长 -> 最大寻址空 间$\ce{2^32}$= 4GB
    • 64位字长 -> 理论寻址空间$\ce{2^64}$= 16EB(约160亿GB)
  • 数据精度

    • 64 位浮点数(double)比 32 位(float)精度更高
  • 处理效率

    • 4 位 CPU 处理 64 位数据比 32 位 CPU 快 1 倍

常见类型

字长典型场景数据范围
8位早期单片机(8051)0 ~ 255
16位老式 PC(如 Intel 80286)0 ~ 65,535
32位2000 年代主流 PC/手机0 ~ 约 42.9 亿(4GB)
64位现代计算机/服务器/智能手机0 ~ 约 1.84×10¹⁹(16 EB)

基本C数据类型的典型大小

默认以字节为单位,1字节=8位

2025-06-00-17-00-07

寻址和字节顺序

寻址:是 CPU 访问内存或 I/O 设备中特定数据位置的核心机制。它通过唯一的 内存地址(Memory Address) 精确定位数据存储位置。类比真实世界中地址,通过门牌号能找到具体的一个房子。

对于占用多个字节的程序对象(例如c中的一个int类型变量,占4字节),那计算机是如何具体的找到这个对象呢?

  1. 首先得知道这个对象的内存地址
  2. 这个地址在内存地址中是如何排列这些字节的

在内存中按照从最低有效字节到最高有效字节的顺序存储称为小端法

最高有效字节到最低有效字节的顺序存储称为大端法

假如:在c语言中32位前提下,变量x的类型为int,内存地址为0x100,它的十六进制值为0x01234567,内存地址范围0x100 ~ 0x103。

大端法表示如下图:

大端法

小端法表示如下图:

小端法