计算机组成原理计算机的运算方法优秀课件.ppt

上传人:石*** 文档编号:64375886 上传时间:2022-11-29 格式:PPT 页数:56 大小:2.74MB
返回 下载 相关 举报
计算机组成原理计算机的运算方法优秀课件.ppt_第1页
第1页 / 共56页
计算机组成原理计算机的运算方法优秀课件.ppt_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《计算机组成原理计算机的运算方法优秀课件.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理计算机的运算方法优秀课件.ppt(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机组成原理计算机的运算方法第1页,本讲稿共56页一、数制与编码1、进位计数制及其相互转换2、真值和机器数3、BCD编码4、字符与字符串5、校验码二、定点数的表示与运算1、定点数的表示:无符号数的表示;有符号数的表示2、定点数的运算:定点数的移位运算(注意算术移位右移时最高位的确定);原码定点数加减运算;补码定点数加减法运算;定点数乘除运算;溢出概念和判别方法。三、浮点数的表示与运算1、浮点数的表示:浮点数的表示范围;IEEE754标准2、浮点数的加减运算:要能够描述出浮点数加减运算的步骤,注意浮点数的规格化。四、算术逻辑单元ALU1、串行加法器和并行加法器2、算术逻辑单元ALU的功能与结构

2、要理解串行加法器和并行加法器原理和区别,要掌握ALU的功能与结构,这是后续相关章节的基础。大纲要求第2页,本讲稿共56页1、理解进位计数制,掌握常用进制之间的转换;2、理解真值与机器数的概念,了解BCD码的概念;3、掌握海明码和循环冗余校验码的计算;4、掌握定点数的各种表示方法,包括无符号数的表示;有符号数的原码、反码、补码、移码表示,掌握定点数的移位运算;掌握定点数的加、减、乘、除运算;5、掌握浮点数的表示方法;掌握浮点数的加减运算原理及流程;6、了解串行加法器和并行加法器的原理;了解算术逻辑单元ALU的功能 与结构。复习目标重难点提示1、定点数的表示;定点数的移位运算;定点数的加、减、乘、

3、除运算;2、浮点数的表示;IEEE754标准;浮点数的加减运算;3、海明码和循环冗余校验码的原理及计算。第3页,本讲稿共56页运算方法运算方法:运算方法:算术运算算术运算和和逻辑运算逻辑运算在在运算器运算器中的实现方法。中的实现方法。实现的主要硬部件实现的主要硬部件:算术逻辑部件算术逻辑部件 ALU。逻辑运算逻辑运算实现简单,可直接通过与实现简单,可直接通过与或或非门电路实现,非门电路实现,所以,我们主要研究学习计算机中所以,我们主要研究学习计算机中算术运算算术运算。为什么要研究运算方法?答:描述清楚运算器的逻辑功能(即输入与输出信号的关系)1)一个实际数,怎么用机器数表示?(原码、补码、反码

4、等)机器数具有特定的运算规律,和我们以往研究的算术运算不同。2)计算机特定的运算方法:定点运算、浮点运算。3)早期冯.诺依曼型运算器只设有加法器,怎么实现加减乘除?4)不同的运算方法(设计)决定了不同运算器的结构(电路)。/类似软件开发,设计算法不同,对应的代码也不同。逻辑逻辑电路电路 逻辑表达式逻辑表达式 最简表达式最简表达式 真值表真值表 逻辑功能逻辑功能 化简化简第4页,本讲稿共56页运算器的基本结构运算器的基本结构运算器功能:运算器功能:完成完成算术运算算术运算和和逻辑运算逻辑运算的部件。(的部件。(重点研究算数运算重点研究算数运算)设计考虑:设计考虑:任意算术运算任意算术运算(加减乘

5、除)都可通过(加减乘除)都可通过相加相加和和移位移位来解决。来解决。所以运算器的核心部件是所以运算器的核心部件是加法器加法器和和移位器移位器。减法减法可以通过加法来解决可以通过加法来解决 12-7=5(以(以10为模)为模)12+3(7的补码)的补码)=15(去模(去模10)=5 123-78(以(以100为模)为模)123+22=145(去模(去模100)=45乘法乘法可以通过连续的加法来解决可以通过连续的加法来解决除法除法可以通过连续的减法来解决可以通过连续的减法来解决系统总线存储器 运算器 控制器 接口与通信 输入/输出设备运算部件任何一个硬部件的基本结构一定和其逻辑功能有关!第5页,本

6、讲稿共56页四位ALU中规模集成电路逻辑图M是状态控制端,是状态控制端,M=1,执行逻辑运算执行逻辑运算M=0,执行算术运算执行算术运算F3F0是运算结果是运算结果S0S3是运算选择控制端,是运算选择控制端,决定电路执行哪种算术运算决定电路执行哪种算术运算或哪种逻辑运算。或哪种逻辑运算。Cn是是ALU的最低位进位输入的最低位进位输入A3A0,B3B0是是参加运算的两个数参加运算的两个数第6页,本讲稿共56页运算器的基本结构:(运算器的基本结构:(P 281-283)ALU、移位门移位门、寄存器组寄存器组、输入选择门输入选择门和和数据总线数据总线组成。组成。问题问题1、ALU电路没有记忆功能。电

7、路没有记忆功能。参与运算的数、运算的结果放那里?参与运算的数、运算的结果放那里?(A+B)+(C+D)答:答:存放在存放在寄存器组寄存器组(多个寄存器)中。(多个寄存器)中。问题问题2、ALU两个参加运算数与一个运算结果。两个参加运算数与一个运算结果。一次只有两个数参加运算,一次只有两个数参加运算,究竟让哪个寄存器参加工作呢?究竟让哪个寄存器参加工作呢?答:答:要进行要进行选择选择(选择门电路)。(选择门电路)。移位门ALU选择门 A选择门 B通用寄存器组数据总线数据总线运算器基本结构框图运算部件参加运算的数参加运算的数 XY 参加运算的数参加运算的数运算结果运算结果第7页,本讲稿共56页1、

8、数据的表示方式数据的表示方式 1.1、符号的处理(正数、负数)、符号的处理(正数、负数)1.2、数值的处理(数制转换)、数值的处理(数制转换)1.3、小数点的处理(定点、浮点)、小数点的处理(定点、浮点)1.4、原码的表示方法、原码的表示方法1.5、反码的表示方法、反码的表示方法 1.6、补码的表示方法(重点研究)、补码的表示方法(重点研究)1.7、移码的表示方法、移码的表示方法 1.8、字符、汉字的表示方法、字符、汉字的表示方法1.9、校验码、校验码第六章 计算机的运算方法机器数的表示方法实际数的表示方法研究在机器中怎样用二进制表示十进制数研究哪种机器数的表示方法更利简化运算第8页,本讲稿共

9、56页通常我们把一个通常我们把一个数(连同符号)数(连同符号)在机器中数值化称后为:在机器中数值化称后为:机器数机器数,而把原来的数值称为:而把原来的数值称为:真值真值。一个一个实际数实际数(如(如+8.75)通常由)通常由符号符号、数值数值、小数点小数点三部分组成。三部分组成。因此,将一个实际数在计算机内部表示需要解决三个问题:因此,将一个实际数在计算机内部表示需要解决三个问题:1、符号的处理、符号的处理(+8.57)2、数值的处理、数值的处理(8.75)3、小数点的处理、小数点的处理(8.75)1、数据的表示方式(从真值到机器数)真值+5=机器数 0101第9页,本讲稿共56页1、数据的表

10、示方式数据的表示方式 1.1、符号的处理(正数、负数)、符号的处理(正数、负数)1.2、数值的处理(数制转换)、数值的处理(数制转换)1.3、小数点的处理(定点、浮点)、小数点的处理(定点、浮点)1.4、原码的表示方法、原码的表示方法1.5、反码的表示方法、反码的表示方法 1.6、补码的表示方法(重点研究)、补码的表示方法(重点研究)1.7、移码的表示方法、移码的表示方法 1.8、字符、汉字的表示方法、字符、汉字的表示方法1.9、校验码、校验码第六章 计算机的运算方法机器数的表示方法实际数的表示方法研究在机器中怎样用二进制表示十进制数第10页,本讲稿共56页通常符号处理有两种方法:通常符号处理

11、有两种方法:1 1)一种是舍弃符号,采用无符号表示;(时间、利率等)一种是舍弃符号,采用无符号表示;(时间、利率等)2 2)一种是采用符号,并对符号加以处理。)一种是采用符号,并对符号加以处理。如何处理符号呢?途径只有一条,即如何处理符号呢?途径只有一条,即符号数码化符号数码化。“0 0”表示表示 正正,“1 1”表示表示 负负。1.1、符号的处理(正数、负数)真值:真值:计算机中用计算机中用 正负号正负号+绝对值绝对值 表示的数。表示的数。例如:例如:+123,-123,+101011,-10101011机器数:机器数:计算机中把计算机中把符号位符号位和和数值数值数码化以后的数。数码化以后的

12、数。例如:例如:+123=+123=0 0 1111011 -123=1111011 -123=1 1 1111011 1111011 +1010110=+1010110=0 0 1010110 -1010101=1010110 -1010101=1 1 1010101 1010101 带符号的带符号的n n位有效数,机器数为位有效数,机器数为n+1n+1位位.第11页,本讲稿共56页1、数据的表示方式数据的表示方式 1.1、符号的处理(正数、负数)、符号的处理(正数、负数)1.2、数值的处理(数制转换)、数值的处理(数制转换)1.3、小数点的处理(定点、浮点)、小数点的处理(定点、浮点)1.

13、4、原码的表示方法、原码的表示方法1.5、反码的表示方法、反码的表示方法 1.6、补码的表示方法(重点研究)、补码的表示方法(重点研究)1.7、移码的表示方法、移码的表示方法 1.8、字符、汉字的表示方法、字符、汉字的表示方法1.9、校验码、校验码第六章 计算机的运算方法机器数的表示方法实际数的表示方法第12页,本讲稿共56页1)直接采用二进制数表示)直接采用二进制数表示 如(如(255)10=(11111111)2优点:优点:在计算机中,数码是由电平的高低来表示的;在计算机中,数码是由电平的高低来表示的;通常通常高电平代表高电平代表“1”,低电平代表低电平代表“0”;所以采用二进制方便,容易

14、实现。所以采用二进制方便,容易实现。缺点:缺点:八个八个1表示表示255,二进制表示数码的效率太低,二进制表示数码的效率太低,书写极其不方便。书写极其不方便。1.2、数值的处理(数制转换)第13页,本讲稿共56页十进制数转换成二进制数:对一个数的整数部分和小数部分分别进行处理,合并各自得出结果。整数部分:采用除2取余数法。例:例:将将(105)10转换成二进制。转换成二进制。2 105 余数余数结果结果 2 521最低位最低位 2 260 2 130 2 61 2 30 2 11 01最高位最高位 得出:得出:(105)10=(1101001)2直到商等于0为止1.2、数值的处理(数制转换)第

15、14页,本讲稿共56页直到乘积的小数部分为直到乘积的小数部分为0,或结果已满足所需精度要求为止或结果已满足所需精度要求为止十进制数转换成二进制数:对一个数的整数部分和小数部分分别进行处理,合并各自得出结果。小数部分:采用乘2取整数法。例:将(0.3125)10转换成二进制数(要求4位有效位)。结果结果 0.31252最高位最高位 0 .62502 1 .25002 0 .50002最低位最低位 1 .0000 得出得出:(0.3125)10=(0.0101)21.2、数值的处理(数制转换)第15页,本讲稿共56页十进制数转换成二进制数:对一个数的整数部分和小数部分分别进行处理,合并各自得出结果

16、。例:将(105.3125)10转换成二进制数(要求4位有效位)。前面计算得出:(105)10=(1101001)2前面计算得出:(0.3125)10=(0.0101)2得出:(105.3125)10=(1101001.0101)21.2、数值的处理(数制转换)第16页,本讲稿共56页直到乘积的小数部分为直到乘积的小数部分为0,或结果已满足所需精度要求为止或结果已满足所需精度要求为止.例:将(0.1)10转换成二进制数(要求5位有效位)。结果结果 0.12最高位最高位 0 .22 0 .42 0 .82 1 .62 1 .22 0 .42 0 .82最低位最低位 1 .6000得出得出:(0.

17、1)10=(0.00011)2可能永远乘不完,小数部分不为可能永远乘不完,小数部分不为0,意味存在一点意味存在一点误差误差。1.2、数值的处理(数制转换)第17页,本讲稿共56页2)引进组合二进制数:八、十六进制数 从最低有效位开始,三位一划分,组成八进制 Q;从最低有效位开始,四位一划分,组成十六进制 H。例如:110101111001 二进制110101111001 6571Q 八进制110101111001 D79H 十六进制 注意:八、十六进制的引进,是为了人书写方便而已,在机器内部表示都是一样的,不需要编码、译码。1.2、数值的处理(数制转换)第18页,本讲稿共56页二进制数 B八进

18、制数 O/Q 十六进制数 H 十进制数 D 0 0 0 00 0000 0 0 10 1110 0 1 00 2220 0 1 10 3330 1 0 00 4440 1 0 10 5550 1 1 00 6660 1 1 10 7771 0 0 01 0881 0 0 11 1991 0 1 01 2A1 01 0 1 11 3B1 11 1 0 01 4C1 21 1 0 11 5D1 31 1 1 01 6E1 41 1 1 11 7F1 51.2、数值的处理(数制转换)第19页,本讲稿共56页二进制数、八进制数、十六进制之间的转换二进制数、八进制数、十六进制之间的转换对于一个兼有整数和

19、小数部分的数,以小数点为界,对于一个兼有整数和小数部分的数,以小数点为界,不足的位数补不足的位数补0。对整数部分将对整数部分将0补在数的补在数的左侧左侧,对小数部分将,对小数部分将0补在数的补在数的右侧右侧。例:例:从二进制数转换到八进制数,则以从二进制数转换到八进制数,则以3位为位为1组组 (1 101.010 1)2=(001 101.010 100)2=(15.24)8 例:例:从二进制数转换到十六进制数,则以从二进制数转换到十六进制数,则以4位为位为1组组。(1 1101.0101)2=(0001 1101.0101)2=(1D.5)16八进制、十六进制数转换到二进制,顺序将每位数展开

20、写成八进制、十六进制数转换到二进制,顺序将每位数展开写成3或或4位。位。例:例:(15.24)8=(001 101.010 100)2=(1101.0101)2八进制数与十六进制数之间,可将二进制数作为中介进行转换。1.2、数值的处理(数制转换)第20页,本讲稿共56页3)BCD码(十进制):P214-215如果计算机以二进制进行运算和处理时,只要在输入输出处理时进行二/十进制转换即可。但在商业统计中,二/十进制转换存在两个问题:(1)转换占用实际运算很大的时间;(2)十进制的0.1,无法用二进制精确表示;且十进制数0.1+0.1=0.2,在二进制中无法得到精确的数值,会存在一个小误差。因此,

21、在商用计算机中,专门设计适用于十进制运算的电路,这时的十进制数一般采用BCD码表示。1.2、数值的处理(数制转换)第21页,本讲稿共56页由于ASCII码低四位与BCD码相同,转换方便。ASCII码左移四位得BCD码,BCD码前加0011得ASCII码。一般采用二进制运算的计算机中不采用BCD码,矫正不方便。商用计算机中采用BCD码,专门设置有十进制运算电路。十进制十进制BCD码码 二进制数二进制数 十六进制数十六进制数 ASCII码码 0 0000 0000000110000 1 0001 0001100110001 9 1001 1001900111001 10 0001 0000 101

22、0A 16 0001 0110 1111F从键盘输入输出的是ASCII码(P214)1.2、数值的处理(数制转换)第22页,本讲稿共56页BCD码算术运算,要对运算结果进行码算术运算,要对运算结果进行修正修正。加法运算的修正规则是:加法运算的修正规则是:两个一位两个一位BCD码相加之和小于或等于码相加之和小于或等于 9,不修正不修正;相加之和大于或等于相加之和大于或等于10,加加6修正,并向高位进位修正,并向高位进位。4+9=13 0 1 0 0+1 0 0 1 1 1 0 1+0 1 1 0 修正 1 0 0 1 1进位1+8=9 0 0 0 1+1 0 0 0 1 0 0 1不需要修正9+

23、7=16 1 0 0 1+0 1 1 11 0 0 0 0+0 1 1 0 修正 1 0 1 1 0进位1.2、数值的处理(数制转换)第23页,本讲稿共56页1、数据的表示方式数据的表示方式 1.1、符号的处理(正数、负数)、符号的处理(正数、负数)1.2、数值的处理(数制转换)、数值的处理(数制转换)1.3、小数点的处理(定点、浮点)、小数点的处理(定点、浮点)1.4、原码的表示方法、原码的表示方法1.5、反码的表示方法、反码的表示方法 1.6、补码的表示方法(重点研究)、补码的表示方法(重点研究)1.7、移码的表示方法、移码的表示方法 1.8、字符、汉字的表示方法、字符、汉字的表示方法1.

24、9、校验码、校验码第六章 计算机的运算方法机器数的表示方法实际数的表示方法第24页,本讲稿共56页小数点可否数码化?如 10110011,你能鉴别哪一位数码表示小数点吗?答案:不能!无法与数位相区别。1.3、小数点的处理(定点、浮点)定点数:小数点固定在某个位置上的数据(隐含约定,不出现)。定点小数:小数点固定在数值部分的左边,符号位的右边。定点整数:小数点固定在数值部分的右边。定点数的表示范围是有限的,但硬件的设计比较简单。浮点数:指小数点位置可浮动的数据。第25页,本讲稿共56页1、定点数的表示方法:、定点数的表示方法:例如:例如:123.45=0.12345 X 10 3 纯小数纯小数

25、123.45=12345 X 10-2 纯整数纯整数 假设用一个假设用一个n+1位表示定点数位表示定点数 X=X0 X1X2Xn,X0:表示符号(放在最左位置,表示符号(放在最左位置,“0”正号正号/“1”负号),负号),X1X2Xn:其余位数代表数值。其余位数代表数值。对于任意一个定点数,在定点计算机中数的表示格式如下:对于任意一个定点数,在定点计算机中数的表示格式如下:X0 X1X2 Xn尾数(数值)符号1.3、小数点的处理(定点、浮点)第26页,本讲稿共56页定点小数定点小数:小数点位于在小数点位于在 X X0 0 和和 X X1 1 之间,表示纯小数。之间,表示纯小数。数值范围:数值范

26、围:当当X1 1X2 2Xn n各位是各位是0时:时:0.0000000,|X|最小最小=0 当当X1 1X2 2Xn n各位是各位是1时:时:0.1111111,|X|最大最大=1-2-n-n 0|X|1-20|X|1-2-n-n X0 X1X2 Xn尾数(数值)符号小数点的这个点在计算机中是隐含约定的,不出现的。1.3、小数点的处理(定点、浮点)第27页,本讲稿共56页定点整数定点整数:小数点位于最低位的右边。小数点位于最低位的右边。数值范围:数值范围:当当X1 1X2 2Xn n各位是各位是0时:时:0 0000000,|X|最小最小=0 当当X1 1X2 2Xn n各位是各位是1时:时

27、:01111111,|X|最大最大=2n+1n+1-1 0|X|2 0|X|2n+1n+1-1-1 X0 X1X2 Xn尾数(数值)符号1.3、小数点的处理(定点、浮点)小数点的这个点在计算机中是隐含约定的,不出现的。第28页,本讲稿共56页定点小数数值表示:定点小数数值表示:X=XX=X0 0 X X1 1X X2 2XXn n X X0 0=0,X=0,Xi i=0,1,0in=0,1,0in X X1 12 2-1-1+X+Xn-1n-12 2-n+1-n+1+X+Xn n2 2-n-n例如:例如:X X =0.10101 =0.10101 其数值其数值 =2 2-1-1+2+2-3-3

28、+2+2-5-5 =21/3221/32定点整数数值表示:定点整数数值表示:X=XX=X0 0 X X1 1X X2 2XXn nX Xi i=0,1,0in=0,1,0in X X0 02 2n n+X+X1 12 2n-1n-1+X+Xn-1n-12 21 1+X+Xn n例如例如:X=010101 X=010101 其数值其数值 =2 24 4+2+22 2+2+20 0 =21211.3、小数点的处理(定点、浮点)第29页,本讲稿共56页阶码阶码浮点数的机器格式:尾数尾数阶符阶符数符数符浮点数:浮点数:小数点的位置根据需要而浮动。小数点的位置根据需要而浮动。N=S rN=S rj j

29、r r:基数:基数,通常,通常r=2r=2。j j:阶码:阶码,常为,常为纯整数纯整数,用移码或补码表示。,用移码或补码表示。S S:尾数:尾数,常为,常为纯小数纯小数,用原码或补码表示。,用原码或补码表示。j j和和S S都是都是带符号的数带符号的数 例如:例如:1 100111010011101*2 *2 0 011010001101000 0 1101000 1 0011101现在大部分计算机都是采用浮点运算。0.312 X 10 31.3、小数点的处理(定点、浮点)第30页,本讲稿共56页一个实际数(如一个实际数(如+8.75)通常由)通常由数值数值、小数点小数点、符号符号、三部分组成

30、。、三部分组成。因此,将一个实际数在计算机内部表示需要解决三个问题:因此,将一个实际数在计算机内部表示需要解决三个问题:1、符号处理、符号处理(+8.57)正号正号“0”、负号、负号“1”2、数值的处理、数值的处理(8.75)二进制(八进制、十六进制、十进制二进制(八进制、十六进制、十进制BCD编码)编码)3、小数点的处理、小数点的处理(8.75)定点数(定点小数、定点整数);浮点数定点数(定点小数、定点整数);浮点数小结:真值表示为机器数解决的三个问题第31页,本讲稿共56页1、数据的表示方式数据的表示方式 1.1、符号的处理(正数、负数)、符号的处理(正数、负数)1.2、数值的处理(数制转

31、换)、数值的处理(数制转换)1.3、小数点的处理(定点、浮点)、小数点的处理(定点、浮点)1.4、原码的表示方法、原码的表示方法1.5、反码的表示方法、反码的表示方法 1.6、补码的表示方法(重点研究)、补码的表示方法(重点研究)1.7、移码的表示方法、移码的表示方法 1.8、字符、汉字的表示方法、字符、汉字的表示方法1.9、校验码、校验码第六章 计算机的运算方法机器数的表示方法实际数的表示方法研究哪种机器数表示方法更利于简化运算第32页,本讲稿共56页计算机中的机器数常用三种不同的表示方法:原码、补码、反码。原码原码的表示方法:的表示方法:一个二进制数一个二进制数 X=X0 X1X2 Xn,

32、原码的编码方法是,原码的编码方法是 当当 X 0 时,时,X原原的代码是:的代码是:0 X1X2 Xn 当当 X 0 时,时,X原原的代码是:的代码是:1 X1X2 Xn X0是符号位是符号位 X1X2 Xn是数据的二进制数值。是数据的二进制数值。1.4、原码的表示方法一位符号+数据的绝对值第33页,本讲稿共56页1)原码定点整数的表示方法)原码定点整数的表示方法 (X0X1X2 Xn)X原原 =X 2nx0 2n-x=2n+|x|0 x-2n X原原是机器数,是机器数,X是真值(即实际数)。是真值(即实际数)。一个一个n+1位整数,原码能表示的数值范围是:位整数,原码能表示的数值范围是:(1

33、1111)-2n+1 x 2n-1(01111)对于给定的原码对于给定的原码X原原,它的十进制数,它的十进制数X为:为:X=(-1)x0(x12n-1+xn-121+xn20)例如例如:假设假设x=1010,y=-1010,求,求x原原,y原原 解解:原码数值部分与它的二进制位相同,加上符号位后:原码数值部分与它的二进制位相同,加上符号位后 得得 X原原=01010 y原原=110101.4、原码的表示方法第34页,本讲稿共56页2)原码定点小数)原码定点小数的表示方法的表示方法 (X0X1X2 Xn)X原原=X 1x0 1-X=1+|X|0 x-1 一个一个n+1位的定点小数原码能表示的数值

34、范围为:位的定点小数原码能表示的数值范围为:(1.1111)-1+2-nx1-2-n (0.1111)对给定的小数原码对给定的小数原码x原原,它的十进制数,它的十进制数x为:为:X=(-1)x0(x12-1+xn-12-(n-1)+xn2-n)例如:例如:假设假设x=0.1010,y=-0.1010 求求 x原原 y原原.解解:原码数值部分与它的二进制位相同,加上符号位后:原码数值部分与它的二进制位相同,加上符号位后 X原原=0.1010 y原原=1.1010 1.4、原码的表示方法第35页,本讲稿共56页例例:已知已知x原原=1.1010101,求求X的真值?的真值?解解:X真值真值=-0.

35、1010101(二进制形式写二进制形式写)也可根据以下公式求得:也可根据以下公式求得:X真值真值=(-1)x0(x12-1+xn-12-(n-1)+xn2-n)X真值真值=(-1)1(12-1+02-2+12-3+02-4+12-5+02-6+12-7)=(-1)(0.5+0.125+0.03125+0.0078125)=-0.6640625(一般真值用十进制形式写一般真值用十进制形式写)1.4、原码的表示方法对给定的小数原码对给定的小数原码x原原,它的十进制数,它的十进制数X为:为:X=(-1)x0(x12-1+xn-12-(n-1)+xn2-n)第36页,本讲稿共56页原码的性质原码的性质

36、优点:优点:采用原码表示法简单易懂,乘除法运算的规则比较简单。采用原码表示法简单易懂,乘除法运算的规则比较简单。缺点:缺点:1)在原码表示中,在原码表示中,“0”有两种表示方法,即:有两种表示方法,即:+0=0000 和和-0=1000。2)加减法运算的实现比较复杂。加减法运算的实现比较复杂。两个数相加时需要对两个数相加时需要对符号进行判断符号进行判断,如果同号,则进行加法运算,如果同号,则进行加法运算,如果异号,则进行减法运算。如果异号,则进行减法运算。而在进行减法运算时,还要而在进行减法运算时,还要比较绝对值比较绝对值的大小,的大小,然后用大的减去小的,再确定符号然后用大的减去小的,再确定

37、符号1.4、原码的表示方法第37页,本讲稿共56页原码的性质原码的性质例如:例如:X=-1001(-9)10 Y=+0011(+3)10 计算计算X+Y 机器数直接相加机器数直接相加 X原原+Y原原=11001+00011=11100 结果结果 X+Y原原=11100 X+Y的真值为的真值为-1100 即即(-12)10 结果错误!结果错误!1.4、原码的表示方法直接采用原码运算是不行的!处理负数运算太复杂!第38页,本讲稿共56页1、数据的表示方式数据的表示方式 1.1、符号的处理(正数、负数)、符号的处理(正数、负数)1.2、数值的处理(数制转换)、数值的处理(数制转换)1.3、小数点的处

38、理(定点、浮点)、小数点的处理(定点、浮点)1.4、原码的表示方法、原码的表示方法1.5、反码的表示方法、反码的表示方法 1.6、补码的表示方法(重点研究)、补码的表示方法(重点研究)1.7、移码的表示方法、移码的表示方法 1.8、字符、汉字的表示方法、字符、汉字的表示方法1.9、校验码、校验码第六章 计算机的运算方法机器数的表示方法实际数的表示方法第39页,本讲稿共56页优点:优点:具有对称性,容易生成。具有对称性,容易生成。缺点:缺点:1)存在)存在+0与与-0之分。之分。+0反反=0.000 -0反反=1.111。计算时需要把。计算时需要把1.111换成换成0.000。2)需加权操作,即

39、反码运算若符号位有进位,运算结果要加)需加权操作,即反码运算若符号位有进位,运算结果要加1。1.5、反码的表示方法容易生成:触发器Q端输出是原码,/Q端输出就是反码,得到方便。运算复杂:现在计算机中反码很少使用 (CDC公司某些机器使用过)反码表示法:正数:数值部分与真值形式相同;负数:真值的数值部分按位取反。例:X=0.0110,X反=0.0110 X=-0.0110,X反=1.1001逻辑符号R SQQ第40页,本讲稿共56页1、数据的表示方式数据的表示方式 1.1、符号的处理(正数、负数)、符号的处理(正数、负数)1.2、数值的处理(数制转换)、数值的处理(数制转换)1.3、小数点的处理

40、(定点、浮点)、小数点的处理(定点、浮点)1.4、原码的表示方法、原码的表示方法1.5、反码的表示方法、反码的表示方法 1.6、补码的表示方法(重点研究)、补码的表示方法(重点研究)1.7、移码的表示方法、移码的表示方法 1.8、字符、汉字的表示方法、字符、汉字的表示方法1.9、校验码、校验码第六章 计算机的运算方法机器数的表示方法实际数的表示方法第41页,本讲稿共56页举例:举例:时钟是以时钟是以12为为模模的计数。假设现在的计数。假设现在4点正,有一只表已经点正,有一只表已经7点点 了,为校正时间采用两种方法:了,为校正时间采用两种方法:1)将时钟逆时针拨)将时钟逆时针拨3格,格,2)将时

41、钟顺时针拨)将时钟顺时针拨9格。格。可看出减可看出减3和加和加9是等价的。是等价的。也就是说也就是说 9是(是(-3)对)对12的补码。的补码。数学公式表达为数学公式表达为-3=+9(mod 模模 12)7 3=7+9(mod12)mod12的意思就是的意思就是12为模数(为模数(12是丢掉的数值)。是丢掉的数值)。7-3=4 和和 7+9=16(mod12)等价,)等价,因为表指针超过因为表指针超过12时,自动丢掉时,自动丢掉12。1.6、补码的表示方法“补补”的启示:的启示:减法操作可以用加法操作来代替。减法操作可以用加法操作来代替。也就是负数用补码表示时,可以把减法转化为加法。也就是负数

42、用补码表示时,可以把减法转化为加法。在计算机中实现起来就比较方便。在计算机中实现起来就比较方便。即:即:如果用补码表示的话,只设计一个加法运算器就可以实现加减运如果用补码表示的话,只设计一个加法运算器就可以实现加减运 算,简化了硬件设计部件。算,简化了硬件设计部件。第42页,本讲稿共56页000000000000000100000010011111111000000010000001111111011111111011111111128129-0-1-128-127-127-126二进制代码 无符号数对应的真值原码对应 的真值反码对应 的真值补码对应 的真值012127253254255-12

43、5-126-127-3-2-1-2-1-0+0+1+2+127+0+1+2+127+0+1+2+127+0设机器数字长为设机器数字长为 8 位(其中位为符号位)对于整数,当其分别代表无符号数、原码、位(其中位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?补码和反码时,对应的真值范围各为多少?P 225(+X)+(-X)=0+0补补=-0补补=0.0000一一半半正正一一半半负负-X 补=X 补+1 重点全全0是是0,全,全1是是-1。第43页,本讲稿共56页000000010010011110001001110111101111 8 9-0-1 -8 -

44、7 -7 -6二进制代码 无符号数对应的真值原码对应 的真值反码对应 的真值补码对应 的真值012 7131415 -5 -6 -7-3-2-1-2-1-0+0+1+2 +7+0+1+2 +7+0+1+2 +7+0设机器数字长为设机器数字长为 4 位(其中位为符号位)对于整数,当其分别代表无符号数、原码、补码和位(其中位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?反码时,对应的真值范围各为多少?P 225(+X)+(-X)=0+0补补=-0补补=0.0000一一半半正正一一半半负负-X 补=X 补+1 重点全全0是是0,全,全1是是-1。第44页,本讲

45、稿共56页1)定点整数的补码)定点整数的补码 对于一个对于一个n+1位的二进制整数位的二进制整数 X=X 0 X 1 X 2 X n,则补码表示的定义为:则补码表示的定义为:X 补补=x 2nx0 2n+1-|x|0 x-2n (mod 2n+1)1.6、补码的表示方法正数的补码与原码相同;负数的补码是将二进制位按位取反后,末位加1。第45页,本讲稿共56页例如:例如:假设假设 x=1010,y=-1010,求求 x 补补和和 y补补解:解:正数补码与原码相同,加上符号位正数补码与原码相同,加上符号位0后得:后得:x补补=0 1010 负数补码的数值部分等于二进制位按位取反,末位加负数补码的数

46、值部分等于二进制位按位取反,末位加1,符号位,符号位1,所以所以 y补补=1 0110 (1010取反取反 0101,末位加末位加1得得 0110)求一个负数的补码的另一种方法求一个负数的补码的另一种方法:从低位开始看,对遇到的从低位开始看,对遇到的0和和第一个第一个1取其原码,从第一个取其原码,从第一个1之后开始之后开始直到最高位数值部分,均取反码。符号位为直到最高位数值部分,均取反码。符号位为1。例如:例如:y=-1010 y 补补=10110 x=-10101011 x 补补=101010101 1.6、补码的表示方法第46页,本讲稿共56页1.6、补码的表示方法对于给定定点整数的补码对

47、于给定定点整数的补码x 补补,它的十进制数为:,它的十进制数为:X=-X 02n+X 1 2n-1+X n-1 21+X n20例如:例如:x 补补=10000000(X 0X 1。X n-1 X n),求其真值),求其真值 n+1=8(共(共8位,位,1位符号位)位符号位)n=7 X=-127 +026+020=-128一个一个n+1 位整数补码所能表示的数值范围为:位整数补码所能表示的数值范围为:(1000)-2n x 2n-1(0111)如果是八位二进制数:如果是八位二进制数:-27 x 27-1 (-128 x 127)例如:一个8位的机器数,用补码表示的范围是多少?解:符号位一位,数

48、值部分七位,那么它的范围是,正的是:01111111 补=27-1=127 负的是:10000000补=-27=-128第47页,本讲稿共56页2)定点小数的补码)定点小数的补码 对于定点小数对于定点小数X=X0X1X2Xn,其补码的表示方法与整数类似,其补码的表示方法与整数类似,同样用最高位同样用最高位 X0作为符号位,其定义为:作为符号位,其定义为:X 补补=X 1X0 2-|X|0X-1 (mod 2)假设:假设:X=0.1010 求求 X补补 解解:正数的补码与原码相同,符号位正数的补码与原码相同,符号位0 得:得:X补补=0.10101.6、补码的表示方法第48页,本讲稿共56页假设

49、:假设:y=-0.1010 求求 y补补 解解:负数补码的数值部分等于它的二进制位按位取反,末位加负数补码的数值部分等于它的二进制位按位取反,末位加1。符号位为符号位为1,所以所以 y补补=1.(0101+1)=1.0110 定点小数补码的定点小数补码的数值范围数值范围为为-1 x 1-2-n 对于给定的定点小数补码对于给定的定点小数补码x补补的代码,它的十进制数为:的代码,它的十进制数为:X=-x020+x12-1+xn-12-(n-1)+xn2-n1.6、补码的表示方法第49页,本讲稿共56页补码的特性补码的特性(解决了负数符号问题!我们重点研究补码!)(解决了负数符号问题!我们重点研究补

50、码!)(1)在补码表中,)在补码表中,0有唯一的编码,即有唯一的编码,即+0补补=-0补补=0.0000 从数学上讲,零有两种表示对运算不利,所以当今大多数机器都从数学上讲,零有两种表示对运算不利,所以当今大多数机器都 使用补码。使用补码。+0原原=0.0000 -0原原=1.0000 +0反反=0.0000 -0反反=1.11111.6、补码的表示方法0必须转换0必须转换第50页,本讲稿共56页补码的特性补码的特性(解决了负数符号问题!我们重点研究补码!)(解决了负数符号问题!我们重点研究补码!)(2)采用补码运算,符号位可以与数值一起参加运算,只要结果不超)采用补码运算,符号位可以与数值一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁