CSAPP 3.3 Data Formats(数据格式) 第 5 课3.3数据格式x86 的历史宽度名称x86 名称位数字节数常见整数后缀byte81bword162wdouble word324lquad word648qx86 起源于 16 位的 8086因此word固定表示 16 位。处理器扩展到 32 位和 64 位后旧名称仍被保留32 位叫 double word64 位叫 quad word。这里的word是 x86 历史术语不应理解成“当前机器最自然的整数宽度”。本书环境中的 C 类型大小C 类型大小Figure 3.1 中的类型名称汇编后缀char1 字节Bytebshort2 字节Wordwint4 字节Double wordllong8 字节Quad wordq指针例如char *8 字节Quad wordqfloat4 字节Single precisionsdouble8 字节Double precisionl这些大小针对教材采用的 x86-64 Linux/GCC 数据模型。尤其要注意教材中的 Clong是 8 字节Windows x64 通常把 Clong定义为 4 字节所以 C 类型大小仍需结合 ABI 和平台判断。整数指令后缀b - 1 字节 w - 2 字节 l - 4 字节 q - 8 字节例如movb ... # 移动 1 字节 movw ... # 移动 2 字节 movl ... # 移动 4 字节 movq ... # 移动 8 字节movl中是小写字母l不是数字1。它在整数指令中表示 32 位 double word不能因为字母l就把它理解成 C 的long。Figure 3.1 还把float记为后缀s、double记为后缀l。因此不能脱离指令系列仅凭最后一个字母判断宽度整数和浮点指令使用不同的指令系列及寄存器完整指令与上下文可以消除歧义。指针宽度与所指对象宽度char*p;short*q;在本书环境中p和q本身都是 8 字节地址但解引用后的对象宽度不同p - 8 字节指针 *p - 1 字节 char q - 8 字节指针 *q - 2 字节 short因此“复制指针本身”和“通过指针访问对象”是两种不同操作。前者按地址宽度处理后者按所指对象的类型选择访问宽度。例如%rax中保存char *p时%rax保存的是 8 字节地址但读取*p只访问%rax所指位置的 1 字节。若结果要放入更宽寄存器编译器还会选择符号扩展或零扩展指令这将在后续数据传送部分学习。关于long doublex86 家族历史上还使用过 80 位扩展精度浮点格式C 可用long double表示。教材提醒这种格式的平台可移植性和硬件性能特征与float、double不同因此本章主要围绕 4 字节float和 8 字节double展开。本节易错点把 x86 的word错当成 64 位实际上它固定是 16 位。把整数后缀l错当成 Clong整数语境中的l表示 4 字节。认为所有平台的 Clong都是 8 字节这取决于平台 ABI。因为指针是 8 字节就误以为通过指针总要访问 8 字节。只看一个后缀字母不结合完整指令、数据类型和寄存器类别判断。

相关新闻

最新新闻

玻璃温室微气候调控:温度湿度CO₂气流四维协同规则

玻璃温室微气候调控:温度湿度CO₂气流四维协同规则

1. 什么是玻璃温室里的微气候规则?它到底管什么? “玻璃温室中的微气候规则”——这名字听起来像农业气象学的论文标题,但其实它是一套在真实生产场景里天天被种植户、园艺师、设施农业工程师反复调校、验证、推翻又重建的操作逻辑。它不是写…

2026/8/27 20:18:36
MISRA C:2012 详解 · 专栏05:高级主题(第 19~22 章)

MISRA C:2012 详解 · 专栏05:高级主题(第 19~22 章)

MISRA C:2012 详解 专栏05:高级主题(第 19~22 章) 覆盖第 19~22 章共 34 条规则:重叠存储、预处理指令、标准库、资源管理。 这是 MISRA 的收尾篇,也是最「接地气」的一篇——预处理宏的坑、标准库的雷、资源的债,都是真实项目里流过的血。 第 19 章 重叠存储(Overlap…

2026/8/27 20:18:36
主库——第1集:庆功宴惊魂

主库——第1集:庆功宴惊魂

一、让人扒层皮的红头文件 老牛第一次见到那张纸,是在去年初春的周一早上。 它躺在马总的办公桌上,A4大小,红头黑字,标题印着"关于推进核心系统自主可控改造的通知"。老牛当时正端着一杯奶茶,吸管咬得稀烂…

2026/8/27 20:18:36
基于SpringBoot的社区智慧养老服务管理系统(程序+文档+讲解)

基于SpringBoot的社区智慧养老服务管理系统(程序+文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/27 20:18:36
《生成式人工智能与机器学习导论 2025》第 3 讲 - 学习笔记1

《生成式人工智能与机器学习导论 2025》第 3 讲 - 学习笔记1

《生成式人工智能与机器学习导论 2025》第 3 讲-学习笔记 1. LLM生成文字的整体流程 大型语言模型(Large Language Model, LLM)生成文本时,并不是直接“理解问题并写答案”,而是通过多层神经网络逐步转换表示,最终预测…

2026/8/27 20:18:36
每日估算人机对战:用群体智慧检验大模型常识

每日估算人机对战:用群体智慧检验大模型常识

如果你最近一直在刷各种 AI 榜单,大概率会陷入一种矛盾感:一边是各家大模型在 MMLU、GPQA、AIME 等基准上疯狂刷新分数,一边是真正把这堆模型用到自己业务里时,总感觉差了点“常识感”。模型能写代码、能解数学题,但你…

2026/8/27 20:13:35