王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记

本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对 计算机组成 知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!!
 
关于对 数据的表示和运算 章节知识点总结的十分全面,涵括了《计算机组成原理》课程里的全部要点本人来来回回过了三遍视频),其中还陆陆续续补充了许多内容,所以读者可以相信本篇博客对于考研计算机组成原理 “数据的表示和运算” 章节知识点的正确性与全面性
但如果还有自主命题的学校,还需额外读者自行再观看对应学校的自主命题材料
 
计算机组成原理 笔记导航

  1. 第一章 计算机系统概述
  2. 第二章 数据的表示和运算⇦当前位置
  3. 第三章 存储系统
  4. 第四章 指令系统
  5. 第五章 中央处理器
  6. 第六章 总线
  7. 第七章 输入输出系统
  8. 计算机组成原理 复试精简笔记 (加班中...)
  9. 408 全套初复试笔记汇总 传送门 ‍‍‍
     

如果本篇文章对大家起到帮助的话,跪求各位帅哥美女们,求赞 、求收藏 、求关注!
你必考上研究生!我说的,耶稣来了也拦不住!

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第1张图片

 

食用说明书:
第一遍学习王道课程时,我的笔记只有标题和截图,后来复习发现看只看图片,并不能很快的了解截图中要重点表达的知识点。
在第二遍复习中,我给每一张截图中 标记了重点,以及 每张图片上方总结了该图片 对应的知识点 以及自己的 思考
最后第三遍,查漏补缺。
所以 ,我把目录放在博客的前面,就是希望读者可以结合目录结构去更好的学习知识点,之后冲刺复习阶段脑海里可以浮现出该知识结构,做到对每一个知识点熟稔于心!
请读者放心!目录展示的知识点结构是十分合理的,可以放心使用该结构去记忆学习!
注意(⊙o⊙)!,每张图片上面的文字,都是该图对应的知识点总结,方便读者更快理解图片内容。

 


《计算机组成原理》第2章 数据的表示和运算

【考纲内容】 P38 ~
 
(一) 数制与编码

​ 网课耗时:2 h

  • 进位计数制及其相互转换;
  • 定点数的编码表示;
     

(二) 运算方法和运算电路

​ 网课耗时:1.5 h

  • 基本运算部件:加法器,算法逻辑单元(ALU);
  • 加 / 减运算:补码加/减运算器,标志位的生成;
  • 乘 / 除运算 :乘/除法运算的基本原理,乘法运算和除法电路的基本结构;
     

(三) 整数的表示和运算

​ 网课耗时:1.5 h

  • 无符号整数的表示和运算;
  • 带符号整数的表示和运算;
     

(四) 浮点数的表示和运算

​ 网课耗时:1.5 h

  • 浮点数的表示:IEEE 754标准;
  • 浮点数的加/减运算;
     

【复习提示】
 
纵观近几年的真题,不难发现 unsigned、short、int、long、float、double 等在C语言中的表示、运算、溢出判断、隐式类型转换、强制类型转换、IEEE 754浮点数的表示,以及浮点数的运算,都是考研考查的重点,需要牢固掌握。

 

2.1 数制与编码

 

2.1.1 进位计数制与其相互转换

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第2张图片

 

1. 进位计数法

​ 对于 r进制 来说,r 是 基数 ,ri 是第 i 位数的 位权;

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第3张图片

 

2. 不同进制之间的相互转换

​ 学了r进制,然后学各进制之间的转换,这合理吧!

 

(1) 任意进制 转换为 十进制(简单的一批)
 
以二进制举例:

​ (11011.1)2 = (1 * 24) + (1 * 23) + (0 * 22) + (1 * 21) + (1 * 20) (按 “权” 展开法)
 
​ 感兴趣可以再去了解课本里的 按基值重复相乘(除)法

​ 本类型还可以推广到 二进制转换为r进制,方法类似。

 

(2) 十进制 转换为 任意进制

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第4张图片

 

​ 重点关注 十进制 转换为 二进制

 

① 整数十进制 转换为 二进制

​ 举例:将十进制数123 转为 二进制数

重复除以2 得商 取余数
123÷2 61 1(最低位)
61÷2 30 1
30÷2 15 0
15÷2 7 1
7÷2 3 1
3÷2 1 1
1÷2 0 1(最高位)
答案:(123) = (1111011)

 

② 小数十进制 转换为 二进制

​ 举例:将十进制0.6875 转为 二进制

重复乘2 得小数部分 取整数
0.6875×2 0.3750 1(最高位)
0.3750×2 0.7500 0
0.7500×2 0.5000 1
0.5000×2 0.0000 1(最低位)
答案:(0.6875) = (0.1011)

 

③ 补充:特殊分数 转换为 二进制

​ 举例:

​ 3/100 = 0.03 (分数可以转为小数)

​ 7/16 = (111)2 × 2-4 = [0.0111]2

​ 9/64 = (1001)2 × 2-6 = [0.001001]2

 

(3) 二进制 与 八、十六进制数 之间的转换

​ 原理:23 = 8,24 = 16,故 三位二进制 正好对应 一位八进制四位二进制 正好对应 ==一位十六进制;==反之同理。

​ 举例:将二进制 1111000010.01101 分别转为八进制、十六进制数

​ 具体过程看下图(十六进制和八进制差不多过程),答案:(1702.32), (3C2.68)十六

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第5张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第6张图片

 

3. 真数 和 机器数

  • 真值 :带 “+” 或 “-” 的数;如:+15、-8;
  • 机器数 :把符号 “数字化” 的数;如;:0 1111、1 1000;(一定要注意符号位)

 

小结

 


2.1.2 BCD码

BCD :Binary-Coded Decimal,用二进制编码的十进制,解决二进制转十进制的问题(快速转换、一一对应)

 

1. 8421BCD码

  • 每四位二进制表示一位十进制(有6个冗余状态);
  • 8、4、2、1分别对应每一位的权值(有权码);
  • 0000 ~ 1001 分别对应 0 ~ 9,进行加法后若超出该范围,则需 +0110 进行修正;

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第7张图片

 

2. 余3码

  • 8421码 + (0011)2 (无权码)

3. 2421码

  • 2、4、2、1分别对应每一位的权值;(有权码)
  • 表示 0 ~ 4 时最高位为0,表示 5 ~ 9 时最高位为1;(避免歧义,例如5:1011 正确;0101 错误)
真值 8421BCD 余3码 2421码
0 0000 0011 0000
1 0001 0100 0001
3 0011 0110 0011
…… …… …… ……
8 1000 1011 1110
9 1001 1100 1111
10 0001 0000

 

小结

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第8张图片

 


2.1.3 奇偶校验码

​ 不着急学习这个,学完 2.2.1 无符号数和有符号数 再回来看这个

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第9张图片

 

1. 为什么要校验码 ?

​ 答:检测错误;

​ 数据传输过程中可能会出现错误,校验码首先就是能发现是否数据出错,其次是纠错!

2. 码距是什么 ?

​ 码距是指在一个编码体系中,任意两个合法码之间,对应位上编码不同的最大位数(不懂看例子)

​ 二位二进制(此时码距为1):任意选两个(如:00、10),最多有1位不同。

​ 三位二进制(此时码距为2):任意选两个(如:000、110),最多有2位不同。

西
两位二进制 00 01 10 11
三位二进制(采用偶校验) 0 00 1 01 1 10 0 11

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第10张图片

 

3. 校验码组成

校验码 = 校验位 + 数据位

​ 奇偶校验分为 奇校验偶校验

 

4. 奇偶校验码原理
 
以 “奇校验(校验码有奇数个1)” 举例:

​ 发送方要发送一份8位数据:01010101;

​ 经过“奇校验”处理:1 01010101

① 如果传输过程没出错

​ 接收方收到数据:1 01010101;

​ 接收方“奇校验”发现没错,就将数据解包得到数据位:01010101;

② 如果数据传输过程发送1位错误(随便1位不对,数据位、校验位都可能出错)

​ 接收方收到数据:1 11010101;

​ 当接收方“奇校验”发现有偶数个1,这就不对了,发现错误要求重发!

③ 如果数据传输过程发送2位错误(随便2位不对)

​ 接收方收到数据:1 10010101;

​ 当接收方“奇校验”发现有奇数个1,就发现不出错误!!!

​ 通过例子总结下奇偶校验码的优缺点:

优点:校验位位数少,简单,传输效率高;

缺点:只能发现奇数个错误;

 


2.1.4 Hamming 校验码 *

​ 计算机网络:第三章 数据链路层 3.2 差错控制

 


2.1.5 CRC循环冗余校验码 *

​ 计算机网络:第三章 数据链路层 3.2 差错控制

 

2.2 数据的表示

2.2.1 无符号数和有符号数

​ 计算机中参与运算的数分为两大类:无符号数有符号数

 

1. 无符号整数

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第11张图片

  

概述(先简单了解,在下面学习中理解这几句话):
 
​ 计算机中的数都放在 寄存器 中,所以称寄存器的位数为 机器字长;

无符号数,就是将寄存器中的每一位数都用来存放数值;

​ 当存放 有符号数 时,需留出位置存放符号;

 

​ 当机器字长相同时,无符号数与有符号数所对应的 ==数值范围不同。==以机器字长为16位举例:

​ 无符号数的表示范围:0 ~ 65 535

​ 有符号数的表示范围:-32 768 ~ +32 767(对应补码)

 

(1) 无符号整数在计算机硬件中如何表示 ?

​ 假设现有一台计算机,通用寄存器最多能存8位

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第12张图片

 

(2) 无符号整数的运算

 

① 无符号整数的加法运算

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第13张图片

 

② 无符号整数的减法运算

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第14张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第15张图片

 

2. 带符号数

 

(1) 带符号整数在计算机硬件中如何表示 ?

​ 假设现有一台计算机,通用寄存器最多能存8位

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第16张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第17张图片

 

① 原码表示法
 
原码 :带符号的绝对表示

​ N位原码的表示范围:[1 1……1, 0 1……1] (符号位占1位,剩余的是数值位)

整数范围:[ -(2n-1 -1), (2n-1 -1) ]

小数范围:[-(1 - 2-(n-1)), (1 - 2-(n-1))]

真数0有两种形式: [+0] = 0, 000;[-0] = 1, 000;(注意!与补码做对比)

形式(举例:四位原码) 真数(整数) 真数(小数)
最大正数 0 111 7 0.875
最小负数 1 111 -7 -0.875

 

​ 原码特点:简单、直观,但是 ==不适合操作数异号的加法运算,==也就是符号位不能参与运算!(补码可以)

 

② 补码表示法
 
​ 原码正数时,补码和原码相同;

​ 原码负数时,除符号位外,各位取反,末位加1;

​ 特点:N位补码表示范围 与 N位原码不同;补码在二进制中用来表示负数,解决 异号加法问题(符号位可以参与运算)

-4 -2 -1 0 1 2 4
原码 1 100 1 010 1 001 0 000 0 001 0 010 0 100
补码 1 100 1 110 1 111 0 000 0 001 0 010 0 100

 

​ N位补码的表示范围:[ 1 0……0, 0 1……1]

​ 整数范围:[ -2n-1, 2n-1 - 1]

​ 小数范围:[ -1, 1 - 2-(n-1)]

​ 注意!与原码相比,补码的0只有一种表示形式:0000;且规定把 1000 当作 -8

(4位补码) 形式 真数(整数) 真数(小数)
最大正数 0 111 7 0.875
最小负数 1 000 -8 -1

 

③ 反码表示法

​ 原码正数时,反码和原码相同;

​ 原码负数时,除符号位外,各位取反;

​ 特点:做为 原码 - 反码 - 补码 互相转换的中间计算过程;

N位反码的表示范围 与 N位原码相同;

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第18张图片

 

(2) 带符号数的运算

 

例题1:补码的加法运算

 

例题2:补码的加法运算

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第19张图片

 

例题3:补码的减法运算

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第20张图片

 

(3) 原、反、补码的特性比较

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第21张图片

 

(4) 移码表示法
 
移码 :在补码的基础上,将符号位取反

​ 特点:补码不能 判断数值大小,移码可以;注意!移码 只能用于表示整数!

​ N位移码整数的表示范围和补码相同:[ -2n-1, 2n-1 - 1];(真数0只有一种表示形式)

 

小结

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第22张图片

 


2.2.2 数的定点表示

​ 两种方法表示小数点的存在:定点表示浮点表示

定点数:小数点固定在某一位置的数;

 

1. 定点整数 和 定点小数(纯整数 和 纯小数)

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第23张图片

 

2. 数的定点表示

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第24张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第25张图片

 

​ 注意 !移码只能用来表示整数 !

 


2.2.3 数的浮点表示

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第26张图片

 

1. 浮点数的作用

n 位的定点数 能表示的范围有限,可以采用 浮点数 可以提高数据的表示能力;

 

【引例】浮点数 的原理类似 科学计数法:阶码 + 尾数

  • 阶码表示数值 大小
  • 尾数反映数值 精度

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第27张图片

 

2. 浮点数的表示

​ 浮点数的真值:N = M × r j ,由 阶码 j 和 尾数M 两部分组成。其中,M 是尾数,j 是阶码,r 是尾数的基值;

  • 阶码 E 反映浮点数的 表示范围 ,是整数;
  • 尾数 M 反映浮点数的 精度 ,是小数;
     

举例:

​ N = 11.0101

​ = 0.110101 × 210

​ = 1.10101 × 21

​ = 1101.01 × 2-10

​ = ……

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第28张图片

 

3. 规格化

​ 图中,使用 1B = 8bit 的存储空间来存储 b,会发现它最后一位的1存储不下了;

​ 如果把 1 舍弃,那 b 的精度就下降了,可以采用浮点数 尾数的规格化 就是来解决这样的问题;

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第29张图片
 

​ 规格化浮点数,就是要求 尾数的数值部分的第一位,必须是一个有效值

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第30张图片

 

原码表示尾数 补码表示尾数
正数最大值 0.11 … 1 = (1 - 2-n) 0.11 … 1 = (1 - 2-n)
正数最小值 0.10 … 0 = 1/2 0.10 … 0 = 1/2
负数最大值 1.10 … 0 = -1/2 1.01 … 0
负数最小值 1.11 … 1 1.00 … 0 = -1

 

【了解】浮点数的表示范围大纲已经删除
 
​ 运算结果大于最大正数时称为 正上溢,小于绝对值最大负数时称为 负上溢,正上溢和负上溢统称 上溢

​ 数据一旦产生上溢,计算机必须中断运算操作,进行溢出处理;

​ 当运算结果在0至最小正数之间时称为 正下溢 ,在0至绝对值最小负数之间时称为 负下溢 ,正下溢和负下溢统称 下溢

​ 数据下溢时,浮点数值趋于零,计算机仅将其当作机器零处理;

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第31张图片

 

小结

 


2.2.4 浮点数的标准:IEEE 754

​ 浮点数中,阶码 一般以 移码 的形式表示,现简单回顾下移码的知识点;

 

1. 移码的定义

​ 移码最原始的定义为: 移码 = 真值 + 偏置值

​ 采用不同的 偏置值 ,就会得到不同的 移码;(下面例子分别采用偏置值为 128D、127D)

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第32张图片

 

​ 此时,移码的 偏置值 = 127D ,但也出现了一个问题:

​ 例如:-128 的移码 = -1000 0000 + 0111 1111 = 1111 1111 ;

​ 会发现 0111 1111 不够减,那么就会就其变成 1 0111 1111

​ 因为它们加减之后的结果相等于进行一个 28 的取余运算,所以加一个 1 0000 0000 给被减数,不会有影响还解决了问题;

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第33张图片

 

2. IEEE 754标准

 

​ 例1

 

​ 例2

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第34张图片

 

3. IEEE 754 的表示范围

​ IEEE 754所能表示的 最小绝对值最大绝对值


 

​ 阶码全 1,全 0 的的情况

 

小结

 

2.3 数据的运算

2.3.1 基本运算部件

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第35张图片

 

1. ALU的作用、原理

​ 左下侧红框是简易的 ALU 结构,两个输入信号 + 控制信号 = 输出信号

​ 右下侧是经典的 74181芯片,其中:

  • ( M,S0,S1,S2,S3) ,是控制信号,M=1为逻辑运算,M=0为算术运算。S0 - S3,4bit 可以表示16种运算;
  • A端和B端,分别是 4bit 的输入端;
  • F端,4bit 的输出端;
  • 其它未提及的端口,暂时不需要了解;

机器字长,指计算机能同时处理 nbit 运算,实际硬件原理就是 ALU 输入端的位数(例如下图中的 4bit);

​ 为了硬件之间的协调,寄存器 也会对应 ALU 相同的位数;

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第36张图片

 

2. 电路基础知识

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第37张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第38张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第39张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第40张图片

 

3. 加法器的实现

 

① 一位全加器

 

② 串行加法器

 

③ 并行加法器

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第41张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第42张图片

 

④ 补码加法器

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第43张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第44张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第45张图片

 

小结

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第46张图片

 


2.3.2 定点数的移位运算

 

1. 算数移位

 

① 原码的算数移位

 

② 反码的算数移位

 

③ 补码的算数移位

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第47张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第48张图片

 

2. 逻辑移位

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第49张图片

 

3. 循环移位

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第50张图片

 

小结

 


2.3.3 定点数的加减运算

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第51张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第52张图片

 


2.3.4 定点数的乘除运算

1. 定点数的乘法运算

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第53张图片

 

(1) 乘法运算的实现思想

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第54张图片

 

(2) 原码一位乘法

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第55张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第56张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第57张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第58张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第59张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第60张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第61张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第62张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第63张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第64张图片

 

(3) 补码乘法运算

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第65张图片

 

小结

 

2. 定点数的除法运算

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第66张图片

 

(1) 除法运算的思想

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第67张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第68张图片

 

(2) 原码除法:恢复余数法

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第69张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第70张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第71张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第72张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第73张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第74张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第75张图片

 

(3) 原码除法:加减交替法

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第76张图片

 

(4) 补码除法:加减交替法

 

小结

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第77张图片

 


2.3.5 浮点数的加减运算

 

1. 加减运算步骤介绍

  • ① 对阶,规定小阶往大阶靠齐;
  • ② 尾数加减;
  • ③ 规格化
  • ④ 舍入(看具体的舍入规则);
  • ⑤ 判溢出;

 

举例

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第78张图片

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第79张图片

 

2. 强制类型转换

​ 下图结束了C语言中的 定点整数 如何进行强制类型转换;

 

小结

王道计算机组成原理课代表 - 考研计算机 第二章 数据的表示和运算 究极精华总结笔记_第80张图片

 


2.2.6 数据的存储和排序

 

​ 边界对齐,是一种 空间换时间 的存储方式

 

2.4 常见问题和易混淆知识点

1. 如何表示一个数值数据 ?计算机中的数值数据都是二进制数吗 ?

​ 在计算机内部,数值数据的表示方法有以下两大类:

​ ① 直接用二进制数表示。

​ 分为有符号数和无符号数,有符号数又分为定点数表示和浮点数表示。无符号数用来表示无符号整数(如地址等信息)。

​ ② 二进制编码的十进制数,一般采用BCD码表示,用来表示整数。

​ 所以,计算机中的数值数据虽然都用二进制表示,但不全是二进制,也有用十进制表示的。

​ 后面一章有关指令类型的内容中,就分别有二进制加法指令和十进制加法指令。

 

2. 什么称为无符号整数的“溢出” ?

​ 对于无符号定点整数来说,若寄存器位数不够,则计算机运算过程中一般保留低n位,舍弃高位。

​ 这样,会产生以下两种结果:

​ ① 保留的低n位数不能正确表示运算结果。

​ 在这种情况下,意味着运算的结果超出了计算机所能表达的范围,有效数值进到了第n+1位,称此时发生了“溢出”现象。

​ ② 保留的低n位数能正确表达计算结果,即高位的舍去并不影响其运算结果。

 

3. 如何判断一个浮点数是否是规格化数 ?

​ 为了使浮点数能尽量多地表示有效位数,一般要求运算结果用规格化数形式表示。

​ 规格化浮点数的尾数小数点后的第一位一定是个非零数。

​ 因此,对于原码编码的尾数来说,只要看尾数的第一位是否为1就行;

​ 对于补码表示的尾数,只要看符号位和尾数最高位是否相反。

​ 需要注意的是,IEEE 754标准的浮点数尾数是用原码编码的。

 

4. 对于位数相同的定点数和浮点数,可表示的浮点数个数比定点数个数多吗 ?

​ 不是,可表示的数据个数取决于编码所采用的位数。

​ 编码位数一定,编码出来的数据个数就是一定的。

​ n位编码只能表示2n个数,所以对于相同位数的定点数和浮点数来说,可表示的数据个数应该一样多(有时可能由于一个值有两个或多个编码对应,编码个数会有少量差异)。

 

5. 浮点数如何进行舍入 ?

​ 舍入方法选择的原则是:

​ ① 尽量使误差范围对称,使得平均误差为0,即有舍有入,以防误差积累。

​ ② 方法要简单,以加快速度。IEEE 754有以下4种舍入方式:

  • 就近舍入:舍入为最近可表示的数,若结果值正好落在两个可表示数的中间,则一般选择舍入结果为偶数。
  • 正向舍入:朝+∞方向舍入,即取右边的那个数。
  • 负向舍入:朝-oo方向舍入,即取左边的那个数。
  • 截去:朝0方向舍入,即取绝对值较小的那个数。

 

6. 现代计算机中是否要考虑原码加减运算 ?如何实现 ?

​ 因为现代计算机中浮点数采用IEEE 754标准,所以在进行两个浮点数的加减运算时,必须考虑原码的加减运算,因为IEEE 754规足浮点数的尾数都用原码表示。

​ 原码的加减运算可以有以下两种实现方式:

  • 转换为补码后,用补码加减法实现,结果再转换为原码。
  • 直接用原码进行加减运算,符号和数值部分分开进行(具体过程见原码加减运算部分)。

 

1)在计算机中,为什么要采用二进制来表示数据 ?

​ 答案已在本章开头说明;

 

2)计算机在字长足够的情况下 能够精确地表示每个数吗 ?若不能,请举例说明。

计算机采用二进制来表示数据,在字长足够时,可以表示任何-一-个整数。而二进制表示小数时只能够用1/(2")的和的任意组合表示,即使字长很长,也不可能精确表示出所有小数,只能无限接近。例如0.1就无法用二进制精确地表示。

 

3)字长相同的情况下,浮点数和定点数的 表示范围与精度有什么区别 ?

字长相同时,浮点数取字长的一部分作为阶码,所以表示范围比定点数要大,而取一部分作为阶码也就代表着尾数部位的有效位数减少,而定点数字长的全部位都用来表示数值本身,精度要比同字长的浮点数更大。

 

4)用移码表示浮点数的阶码有什么好处 ?

浮点数进行加减运算时要比较阶码的大小,移码比较大小更方便。
检验移码的特殊值(О和max)时比较容易。阶码以移码编码时的特殊值如下。0:表示
指数为负无穷大,相当于分数分母无穷大,整个数无穷接近0,在尾数也为О时可用来表示0:尾数不为零表示未正规化的数。max:表示指数正无穷大,若尾数为0,则表示浮点数超出表示范围(正负无穷大);尾数不为0,则表示浮点数运算错误。。

你可能感兴趣的:(#,408,计算机组成原理,考研,进制转换,计算机组成原理,408)