内容导读
第 3 版 · OCR 辅助 · 原书检索 · 文字用于定位,公式与图表请回原页核验 · 本次导入快照
# 计算机组成与系统结构(第3版) (袁春风) 可复制搜索
<!-- page: 1 -->
“十二五”普通高等教育本科国家级规划教材
普通高等教育“十一五”国家级规划教材
21世纪大学本科计算机专业系列教材
丛书主编 李晓明
计算机组成与系统结构
(第3版)
袁春风 主编
·唐杰 杨若瑜 李俊 编著
教 学 资 源
练 习 与 测 试
互 动 教 学
智 能 学 习
◇根据教育部“高等学校计算机科学与技术专业规范”组织编写
◇与美国ACM和IEEE CS Computing Curricula最新进展同步
◇国家级精品课程和国家级精品资源共享课程教材
清华大学出版社
<!-- page: 2 -->
“十二五”普通高等教育本科国家级规划教材
普通高等教育“十一五”国家级规划教材
21世纪大学本科计算机专业系列教材
丛书主编 李晓明
计算机组成与系统结构
(第3版)
袁春风 主编
唐杰 杨若瑜 李俊 编著
出版社
清华大学出版社
北京
<!-- page: 3 -->
内 容 简 介
本书主要介绍计算机组成与系统结构涉及的相关概念、理论和技术,主要内容包括指令集体系结构、
数据的表示和存储,以及实现指令集体系结构的计算机各部件的内部工作原理、组成结构及其相互连接。
本书共分9章:第1章对计算机系统及其性能评价进行概述性介绍;第2~3章主要介绍数据的机器级表
示和运算,以及运算部件的结构与设计;第4~6章介绍指令系统、各种CPU设计技术及指令流水线;第7
章主要介绍包含主存、外存、cache和虚拟存储器在内的存储器层次结构;第8章介绍总线互连及输入输出
系统;第9章介绍并行处理计算系统的基本硬件结构和并行程序设计编程模型。
本书内容详尽,反映现实,概念清楚,通俗易懂,实例丰富,并提供大量典型习题供读者练习。本书可
以作为高等学校计算机专业本科生“计算机组成原理”“计算机组成原理与系统结构”“计算机系统结构”课
程的教材,也可以作为有关专业研究生或计算机技术人员的参考书。
本书封面贴有清华大学出版社防伪标签,无标签者不得销售。
版权所有,翻印必究。举报:010-62782989,beiqinquan@tup.tsinghua.edu.cn
图书在版编目(CIP)数据
计算机组成与系统结构/袁春风主编;唐杰,杨若瑜,李俊编著.—3版.一北京:清华大学出版社,
2022.5(2023.8重印)
21世纪大学本科计算机专业系列教材
ISBN 978-7-302-59988-3
I.①计⋯ Ⅱ.①袁⋯ ②唐⋯ ③杨⋯ ④李⋯ Ⅲ.①计算机组成原理一高等学校一教材 ②计算机
体系结构一高等学校一教材IV.①TP30
中国版本图书馆 CIP数据核字(2022)第016006号
责任编辑:张瑞庆
封面设计:常雪影
责任校对:李建庄
责任印制:丛怀宇
出版发行:清华大学出版社
网址:http://www.tup.com.cn,http://www.wqbook.com
地址:北京清华大学学研大厦A座
邮 编:100084
邮购:010-62786544
社 总 机:010-83470000
投稿与读者服务:010-62776969,c-service@tup.tsinghua.edu.cn
质量反馈:010-62772015,zhiliang@tup.tsinghua.edu.cn
课件下载:http://www.tup.com.cn,010-83470236
印 装 者:三河市天利华印刷装订有限公司
经销:全国新华书店
开本:185mm×260mm
印 张:22.75
字数:552千字
印次:2023年8月第5次印刷
版次:2010年4月第1版2022年5月第3版
定价:65.00 元
产品编号:088561-01
<!-- page: 4 -->
21世纪大学本科计算机专业系列教材编委会
主任:李晓明
副 主 任:蒋宗礼卢先和
委员:(按姓氏笔画为序)
马华东
马殿富
刘辰
吴朝晖
周兴社
曾明
孙茂松
何炎祥
孟祥旭
廖明宏
王志英
李仁发
宋方敏
袁晓洁
王晓东宁洪
李文新杨波
张莉金海
钱乐秋
黄国兴
秘书:张瑞庆
<!-- page: 6 -->
前言
FOREWORD
计算机组成(computer organization)是指计算机主要功能部件的组成结构、逻辑设计
及功能部件之间的相互连接关系。计算机系统结构(computer architecture)的经典定义是
指程序设计者(主要指低级语言程序员或系统软件设计者)所看到的计算机系统的属性,即
计算机的功能特性和概念性结构,也称指令集体系结构(instruction set architecture,ISA)。
指令集体系结构规定的内容主要包括:指令操作类型、指令处理的数据类型、指令格式、寻
址方式和可访问空间大小、通用寄存器个数和位数、控制和状态寄存器的定义、I/O空间的
编址方式、异常和中断机制、机器工作状态的定义和切换、输入输出数据传送方式、存储保护
方式等。
本书主要介绍计算机组成与系统结构涉及的相关内容。在计算机系统层次结构中,这
些内容位于软件和硬件的结合处,不仅涉及计算机硬件设计和指令系统设计,还涉及操作系
统、编译程序和程序设计等部分软件技术,是整个计算机系统中最核心的部分。
1.本书的写作思路和内容组织
计算机组成与系统结构这两部分涉及的内容相互融合,密不可分。无论是国内还是国
外,很多高校都逐渐把计算机组成原理和系统结构课程的内容有机结合起来;甚至国外一些
经典教材还把与前两者密切相关的软件设计内容也融合在一起。这种方式可以加深读者对
计算机软硬件系统的整体化理解,并有效地增强对学生的计算机系统设计能力的培养。
本书在总结和借鉴国外著名高校使用的教材、教案、教学理念和教学方法的基础上,力
图以“培养学生现代计算机系统设计能力”为目标,贯彻“从程序设计视角出发,强调软硬件
关联与协同,以 CPU设计为核心”的组织思路,试图改变同类传统教材就硬件讲硬件、软硬
件分离的内容组织方式,以系统化观点全面地介绍计算机组成与系统结构相关知识和技术。
为了体现以上思路和目标,本书在以下几方面进行重点考虑和内容组织。
(1)首先基于“高级语言程序→汇编语言程序→机器指令序列→控制信号”的路线展现
程序从编程设计、翻译转换,到最终在CPU上运行的整个过程。在此基础上,用计算机系
统层次化的观点阐述“计算机组成原理”和“计算机组成与系统结构”课程在整个计算机系统
中的位置、内容和作用,从而为清晰了解本课程的内容和作用、为全面建立计算机软硬件系
统的整体概念打下基础。
(2)将指令执行过程和异常、中断、存储访问、I/O访问等重要概念和技术结合起来进
行介绍,力求清晰说明 CPU执行指令过程中硬件与操作系统相互切换和协同工作的处理
过程,使读者深刻理解软硬件系统之间的关系与协同工作过程。
<!-- page: 7 -->
计算机组成与系统结构(第3版)
N
(3)讲述与程序设计有密切关系的体系结构内容(如数据表示、信息存放、操作数寻址、
过程调用、程序访问局部性等)时,试图通过对硬件设计与程序设计之间关系的说明,使读者
建立“从程序员视角理解计算机硬件系统设计,从硬件设计的视角理解程序设计与执行”的
思想,力图在提高读者硬件设计能力的同时,也增强其进行高效的和系统化的程序设计的
能力。
(4)在“计算机组成原理”教材传统内容的基础上增加指令流水线设计相关的详细内
容,依照“最简单的IAS计算机CPU→总线式CPU→单周期CPU→多周期 CPU→基本流
水线 CPU→动态超标量超流水线 CPU”的次序,循序渐进地介绍 CPU 设计技术及其发展
过程,以MIPS处理器和 Pentium 4处理器为蓝本,力图使读者全面深入地掌握现代计算机
的CPU 设计技术。
(5)结合指令流水线技术介绍基于流水线的编译优化技术,使读者对编译技术与指令
流水线实现技术之间的密切关系有一定的认识和理解。
(6)在详细介绍单处理器计算机组成与系统结构原理的基础上,对并行处理系统进行
简要介绍,为读者进一步学习高级体系结构打下必要的基础。
考虑到很多读者需要参考国外同类教材,为了使读者在阅读国外教材时不用对其中的
门电路符号进行切换,以方便读者快速理解电路图,本书中的门电路符号未使用国标,而是
采用了美标。
2.各章节主要内容
本书共有9章,各章主要内容如下。
第1章(计算机系统概述)主要介绍冯·诺依曼结构的特点、计算机硬件的基本组成、计
算机系统层次结构、程序开发与执行过程以及系统性能评价方法。
第2章(数据的机器级表示)主要介绍无符号数和有符号整数的表示、IEEE 754浮点数
标准、西文字符和汉字的编码表示、数据的宽度和存储方式。
第3章(运算方法和运算部件)主要介绍核心运算部件 ALU 的功能和设计、各类定点
数和浮点数的运算方法和相应的运算部件。
第4章(指令系统)主要介绍高级语言与低级语言的关系、指令格式、操作数类型、寻址
方式、操作类型、异常和中断处理机制,并以MIPS架构为例介绍C语言程序的机器级表示。
第5章(中央处理器)主要介绍CPU的基本功能和内部结构、指令执行过程、数据通路
的基本组成和定时、单周期和多周期数据通路、控制器的设计、带异常处理的处理器设计。
第6章(指令流水线)主要介绍指令流水线的基本原理、流水段寄存器的概念、流水线数
据通路的设计、流水线的控制信号、结构冒险及其处理、数据冒险及其处理、转发技术、控制
冒险及其处理、分支预测原理、超标量和动态流水线的概念和技术。
第7章(存储器层次结构)主要介绍存储器层次结构的概念、半导体存储器的组织、多模
块存储器、磁盘和固态硬盘、存储器的数据校验、cache的基本原理和相应的实现技术、虚拟
存储器的基本概念、进程的虚拟地址空间、虚拟存储器的实现和存储保护。
第8章(系统互连及输入输出组织)主要介绍常用输入输出设备的基本原理、外设与主
机的互连、I/O接口的功能和结构、I/O端口编址方式、程序查询I/O方式、中断I/O方式、
DMA方式以及内核 I/O 软件的基本概述等。
第9章(并行处理系统)主要介绍 UMA多处理器、CC-NUMA 多处理器、多核处理器
<!-- page: 8 -->
前 言
和硬件多线程技术、共享存储器的同步控制、集群、网格、CPU、向量处理机和 SIMD等相关
基本概念,以及并行处理编程模型简介。
3.第3版修订内容
近几年来,计算机组成与系统结构领域发生了一些变革,一些技术有了新的发展。为了
反映技术的进步,淘汰陈旧过时的内容,拓宽本领域知识的覆盖面,并更加合理地构建知识
框架,特别是在进一步体现软硬件融合的教学理念方面,第3版进行了相应修订,主要包括
以下几方面。
在第1章关于计算机系统性能评价一节中,简化了对计算机性能测试方面的介绍,同时
增加了对Amdahl定律的介绍,并提供了相关例题。
对第2章进行了一些调整。因为目前通用计算机的用户程序几乎不会使用像 BCD码
等十进制数来表示数据,所以新版中删除了“十进制数的表示”一节。此外,由于各类存储器
设计时都必须考虑数据校验码的问题,因而将“数据校验码”从第2章移到了介绍存储器层
次结构的第7章。
## 第3章增加了对整数乘除运算溢出判断处理内容的介绍,从高级语言程序、编译器、指
令系统和底层乘除运算电路等多个层面相互关联展开讨论,通过对溢出判断相关例子的分
析,能让读者深刻理解计算机系统各层次之间的关联关系。此外,第3章删除了传统教材中
的4位定点运算器这种中规模集成电路芯片的内容。
在第4章关于指令系统设计一节中,增加了异常/中断处理机制的介绍,改变了传统教
材中将异常和中断相关内容放在输入输出部分重点介绍的做法,强调了异常/中断相关内容
在指令系统设计中的重要性。在第4章的指令系统实例部分,将原来对IA-32和 ARM两
种架构的简要介绍,改为对新型指令集架构 RISC-V的比较全面的介绍。
对于第5章,因为第2版教材对多周期处理器设计,特别是微程序控制器设计方面的内
容讲解过于细化和具体,而引入多周期处理器的主要目的只是为了便于介绍带异常处理的
处理器设计,因此,第3版中简化了不太重要的多周期处理器和微程序控制器方面的内容。
## 第7章的内容调整比较多。首先,将第2版中第7.2节~第7.5节合并为一节,并压缩
调整了其中的一部分内容,使得内容更加简洁紧凑,逻辑性更强。其次,将第2版的8.3节
“外部存储设备”作为存储器层次结构中的一层移到介绍存储器层次结构的第7章中,从逻
辑上来说更加合理。再次,将第2章的“数据校验码”移到第7章,并增加了针对固态硬盘进
行海明校验的基本方法介绍。最后,在“虚拟存储器”这一节,删除了第2版中关于进程上下
文切换、分区和分页存储管理等内容的介绍,增加了存储管理总体结构介绍,将可执行文件、
进程虚拟地址空间、链接器、程序的生成和加载、页表、地址转换等许多计算机系统核心概念
贯穿起来,以引导并加深读者对计算机系统层次结构的理解。此外,还增加了对RISC-V虚
拟存储管理机制的介绍。
在第9章的“多处理器系统”一节,增加了“共享存储器的同步控制”相关内容,介绍了
RISC-V架构中针对事务处理和操作原子性需要而提供的屏障指令和原子操作指令集
RV32A中的部分指令,通过实例介绍了如何利用这些指令实现共享存储器的同步控制。
4.关于本书使用的一些建议
本书可作为“计算机组成原理”课程的教材,也可作为“计算机组成原理实验”和“计算机
系统结构”等课程的教学参考书。特别是对于不专门开设“计算机系统结构”课程的院校,使
<!-- page: 9 -->
计算机组成与系统结构(第3版)
W
用本书作为“计算机组成与系统结构”课程的教材是比较合适的。
对于本书的使用,具体建议如下。
(1)课堂教学应以主干内容为主,力求完整给出知识框架体系,并着重讲清楚相关概念
之间的联系。
(2)标注为*的内容是可以跳过而不影响阅读连贯性的部分,主要有3类:简单易懂的
基础性内容,具体实现方面比较细节的内容,在技术层面上更加深入的内容。这些内容对深
入理解课程的整体核心内容是非常有帮助的。因此,在课时允许的情况下,可以选择其中的
一部分进行课堂讲解;在课时不允许的情况下,也可安排学生进行课后阅读。
(3)书中每个重要的知识点和概念后面都有一些例子(答案分析过程以#结束),可选
择部分重要的、难懂的例子在课堂上讲解,而大部分可留给学生自学。
(4)习题中列出的概念术语基本涵盖了相应章节的主要概念,可以让学生对照检查是
否全部清楚其含义;习题中列出的简答问题是相应章节重要的基本问题,可以通过对照检查
以判断学生对相应章节内容的掌握程度;对于综合运用题,如果与程序设计相关,则可用编
程方式来求解或验证,这样做,对学生深刻理解课程内容有帮助。
(5)本书在CPU设计方面提供了比较具体的实现方案,相关内容可以作为基于FPGA
和硬件描述语言进行CPU设计实验的参考资料。
5.致谢
在本书的编写过程中,得到了张福炎教授的悉心指导;黄宜华教授从书稿的篇章结构到
内容各方面都提出了许多宝贵的意见,进行了修改,并对全书内容进行了全面细致的审核和
校对;书中有关CPU设计的最初图稿和内容组织思路由陈贵海教授提供;此外,武港山教
授以及俞建新、吴海军、张泽生、蔡晓燕等老师也对本书提出了许多宝贵的意见;杨晓亮、肖
韬、翁基伟、刘长辉、宗恒、莫志刚、叶俊杰等研究生对相关章节的内容和习题分别进行了校
对和试做,并提出了许多宝贵的意见和修改建议。在此对以上各位老师和研究生一并表示
衷心的感谢。
本书是基于作者在南京大学从事“计算机组成原理”和“计算机组成与系统结构”课程教
学 20多年来所积累的讲稿内容编写而成的,感谢各位同仁和各届学生对讲稿内容所提出的
宝贵意见,使得本教材的内容得以不断地改进和完善。
6.结束语
本书广泛参考了国内外相关的经典教材和教案,在内容上力求做到取材先进,并反映技
术发展现状;在内容的组织和描述上力求概念准确、语言通俗易懂、实例深入浅出,并尽量利
用图示和实例来解释和说明问题。由于计算机组成与系统结构相关的基础理论和技术在不
断发展,新的思想、概念、技术和方法不断涌现,加之作者水平有限,书中难免存在不当或遗
漏之处,恳请广大读者对本书的不足之处给予指正,以便在后续的版本中予以改进。
作 者
2021年10月于南京
<!-- page: 10 -->
三录
CONTENTS
## 第1章计算机系统概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1
#### 1.1 计算机的发展历程 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1
##### 1.1.1 通用电子计算机的诞生 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1
·1.1.2 元器件的更新与体系结构的发展 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯2
#### 1.2 计算机系统的基本组成 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3
##### 1.2.1 计算机硬件的基本组成 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4
##### 1.2.2 计算机软件 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯7
#### 1.3 计算机系统层次结构 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯7
##### 1.3.1 计算机系统抽象层的转换 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯8
##### 1.3.2 计算机系统的不同用户 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9
#### 1.4 程序开发与执行过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11
##### 1.4.1 从源程序到可执行程序⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11
##### 1.4.2 可执行文件的启动和执行⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12
##### 1.4.3 程序与指令及控制信号的关系⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13
##### 1.4.4 指令的执行过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯14
#### 1.5 计算机系统性能评价⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯16
1.5.1计算机性能的定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯16
##### 1.5.2 用指令执行速度进行性能评估⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯18
##### 1.5.3 用基准程序进行性能评估⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯18
##### 1.5.4 Amdahl定律 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯19
#### 1.6 本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯20
习题 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯20
## 第2章 数据的机器级表示 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯23
#### 2.1 数制和编码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯23
##### 2.1.1 信息的二进制编码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯23
##### 2.1.2 进位记数制⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯24
##### 2.1.3 定点和浮点表示⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯27
<!-- page: 11 -->
计算机组成与系统结构(第3版)
VⅡ
##### 2.1.4 定点数的编码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯27
#### 2.2 整数的表示 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯32
##### 2.2.1 无符号整数的表示⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯32
##### 2.2.2 带符号整数的表示⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯32
##### 2.2.3 C语言中的整数类型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯33
2.3实数的表示⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯34
##### 2.3.1 浮点数的表示格式⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯34
##### 2.3.2 浮点数的规格化⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯36
##### 2.3.3 IEEE 754浮点数标准 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯36
##### 2.3.4 C语言中的浮点数类型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯39
#### 2.4 非数值数据的编码表示⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯40
##### 2.4.1 逻辑值⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯41
##### 2.4.2 西文字符⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯41
##### 2.4.3 汉字字符⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯42
#### 2.5 数据的宽度和存储⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯44
##### 2.5.1 数据的宽度和单位⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯44
##### 2.5.2 数据的存储和排列顺序⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯46
#### 2.6 本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯48
习题 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯49
## 第3章 运算方法和运算部件 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯52