机器字长、位、字节、整型类型 1. bit比特计算机最小存储单位仅存 1 位二进制0或1无单独寻址能力。2. Byte字节内存可直接寻址的最小基本单元1Byte 8 bit 所有内存读写、变量分配都以字节为单位。3. 机器字长定义CPU单次运算 / 数据传输能处理的二进制位数等于通用寄存器位数。32 位 CPU机器字长 32bit4Byte64 位 CPU机器字长 64bit8Byte特性字长越长单次可运算数据位数越多运算性能更强定点数表示范围更大、浮点小数有效位数更多数值精度更高决定系统最大寻址空间地址总线位数匹配字长。4. int 与机器字长C 语言标准强制约束int最少16bit2 字节实际平台实现规则16 位老式机器int 16bit32/64 位通用 PCint 32bit4字节规律现代平台int统一固定 32 位不完全等于机器字长64 位机字长 64但 int 仍是 325. unsigned long 与寻址、指针指针地址指针存储内存地址宽度等于机器字长32 位机指针void* 32bit4B64 位机指针void* 64bit8Bunsigned long 平台差异32 位系统unsigned long 32bit和指针宽度一致64 位 WindowsLLP64 模型unsigned long 32bit指针 64bit不等64 位 Linux/macOSLP64 模型unsigned long 64bit和指针宽度一致总结仅类 Unix 64 位系统中unsigned long等于指针大小Windows 64 位不满足不能简单等同于寻址宽度。易混对比速记表概念本质说明单位关系bit最小二进制存储位1bit 0/1Byte内存最小寻址单元1Byte 8bit机器字长CPU 一次处理的数据位宽32/64bit等于寄存器位int基础整型标准≥16bit现代平台固定 32bit指针 / 地址存储内存地址匹配机器字长32 位 4B / 64 位 8Bunsigned long无符号长整型平台可变Linux648BWin644B补充易错点不要认为int一定等于机器字长64 位 CPU 字长 64但 int 依旧 32 位不要认为unsigned long永远等于指针Windows64 下二者宽度不同精度逻辑同等编码方式下位数越多可表示数值范围越大、小数精度越高。