第二章 运算方法与运算器 (改).ppt
《第二章 运算方法与运算器 (改).ppt》由会员分享,可在线阅读,更多相关《第二章 运算方法与运算器 (改).ppt(173页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第二章第二章 运算方法与运算器运算方法与运算器 运算方法和运算器运算方法和运算器http:/ 2.1 数据与文字的表示方法数据与文字的表示方法 2.2 2.2 定点加法、减法运算定点加法、减法运算 2.3 2.3 定点乘法运算定点乘法运算 2.4 2.4 定点除法运算定点除法运算 2.5 2.5 定点运算器的组成定点运算器的组成 2.6 2.6 浮点运算方法和浮点运算器浮点运算方法和浮点运算器 本章小结本章小结运算方法和运算器运算方法和运算器2.1数据与文字的表示方法数据与文字的表示方法2.1.1 2.1.1 数据格式数据格式2.1.2 2.1.2 数的机器码表示数的机器码表示2.1.3 2
2、.1.3 字符与字符串的表示方法字符与字符串的表示方法2.1.4 2.1.4 汉字的表示方法汉字的表示方法2.1.5 2.1.5 校验码校验码 数据与文字的表示方法数据与文字的表示方法2.1.1 2.1.1 数据格式数据格式 计算机中常用的数据表示格式有两种:计算机中常用的数据表示格式有两种:(1)定点格式)定点格式(2)浮点格式)浮点格式定点格式(定点格式(小数点位置小数点位置固定固定)容许的数值范围有)容许的数值范围有限,但要求的处理硬件比限,但要求的处理硬件比较简单较简单。浮点格式浮点格式(小数点位置浮动小数点位置浮动)容容许的数值范围很大,但要求的处理许的数值范围很大,但要求的处理硬件
3、比较复杂硬件比较复杂 。数据格式数据格式1.1.定点数的表示方法定点数的表示方法定点表示定点表示:约定机器中所有数据的小数点位置是按约按约定固定不变定固定不变的,小数点就不再使用记号“.”来表示。定点数据的形式:纯小数纯小数或纯整数纯整数。(设:(设:定点数表示为定点数表示为0 01 12 2n n 其中:其中:0 0符号位,符号位,0 0代表正号,代表正号,1 1代表负号)代表负号)小数点的位置约定在符号小数点的位置约定在符号位位x x0 0的后面的后面(不显示不显示)小数点的位置约定在数值小数点的位置约定在数值位位x xn n的后面的后面(不显示不显示)定点数的表示方法定点数的表示方法定点
4、数例定点数例例:例:X=+1010110.纯整数:纯整数:X=01010110.正数,符号位取正数,符号位取0Y=-1101001.纯整数:纯整数:Y=11101001.负数,符号位取负数,符号位取1X=+0.11011Y=-0.10101符号位取符号位取0纯小数:纯小数:X=0.11011符号位取符号位取1纯小数:纯小数:X=1.10101纯整数:纯整数:X=01010110符号位取符号位取0纯整数:纯整数:Y=11101001符号位取符号位取1符号位取符号位取0纯小数:纯小数:X=0.11011符号位取符号位取1纯小数:纯小数:X=1.10101注意到注意到:无论是整数无论是整数或是小数,
5、或是小数,在机器数的在机器数的表示中,都表示中,都不出现小数不出现小数点点“.”,只,只是约定其位是约定其位置。置。定点数例定点数例(012n各位均为各位均为0时最小;各位均为时最小;各位均为1时最大时最大)纯小数纯小数的表示范围:的表示范围:0|12n(2.1)纯整数纯整数的表示范围为的表示范围为:0|2n1(2.2)目前计算机中多采用定点纯整数表示,因此将定点数目前计算机中多采用定点纯整数表示,因此将定点数表示的运算简称为表示的运算简称为整数运算整数运算。定点数的表示方法定点数的表示方法例:例:156.78=15.678101=1.5678102=0.15678103=MRE其中:其中:M
6、为为尾数尾数;R为为基数基数;E为为阶码阶码(指数)(指数)。二进制数二进制数在定点计算机中,在定点计算机中,一般约定一般约定:尾数尾数|M|x 01-x=1+|x|0 x-1对于对于定点整数定点整数 x x=1 12 2n n,则原码的定义是,则原码的定义是:对于对于定点整数定点整数,其原码形式为:,其原码形式为:原原=0 01 12 2n n,注意到注意到:原码机器中:原码机器中 “+0+0”、“-0-0”有两种形式:有两种形式:对于对于定点小数定点小数:+0+0原原 =0 0.0000000 -00 -0原原 =1 1.0000000 0对于对于定点整数定点整数:+0+0原原 =0 00
7、000000 0.-0 -0原原 =1 10000000 0.数的原码表示数的原码表示2n02n2n|02n(2.8)符号符号数值数值一般情况下,对于一般情况下,对于定点小数定点小数,其真值与原码之间的转,其真值与原码之间的转换符合下面的规律:换符合下面的规律:x=+0 x=+0.1 12 2n n 原原0 0.1 12 2n n x=-0 x=-0.1 12 2n n 原原1 1.1 12 2n n对于对于定点整数定点整数,其真值与原码之间的转换符合下面的,其真值与原码之间的转换符合下面的规律:规律:x=+x=+1 12 2n n 原原0 01 12 2n n.x=-x=-1 12 2n n
8、 原原1 11 12 2n n.数的原码表示数的原码表示原码表示法的主要特点是原码表示法的主要特点是简单、易懂简单、易懂,但它的最大缺,但它的最大缺点是:由于数值部分采用绝对值表示,因而使得加减法点是:由于数值部分采用绝对值表示,因而使得加减法运算比较复杂,而加减法运算正是计算机中最常使用的运算比较复杂,而加减法运算正是计算机中最常使用的运算。所以,必须探讨解决方法运算。所以,必须探讨解决方法补码补码则正是一种解则正是一种解决方法。决方法。数的原码表示数的原码表示2.2.补码表示法补码表示法补码的概念补码的概念(以钟表对时为例)以钟表对时为例)假设现在的标准时间为假设现在的标准时间为4 4点正
9、;而有一只表已经点正;而有一只表已经7 7点了,为点了,为了校准时间,可以采用两种方法:一是将时针退了校准时间,可以采用两种方法:一是将时针退7-4=3 7-4=3 格;一格;一是将时针向前拨是将时针向前拨12-3=912-3=9格。显然:这两种方法都能对准到格。显然:这两种方法都能对准到4 4点,点,由此可以看出,减由此可以看出,减3 3和加和加9 9是等价的。所以称:当模数是等价的。所以称:当模数Mod=12Mod=12时,时,9 9是是(-3)(-3)补码。补码。用数学公式表示:用数学公式表示:-3-3+9+9(mod12mod12)“模模”表示被丢掉的数值。上式在数学上称为同余式。表示
10、被丢掉的数值。上式在数学上称为同余式。设某数为设某数为x,当,当Mod=12时,时,x-3=x+9、x+7=x-5都是等价的。都是等价的。从这里可以得到一个启示,就是从这里可以得到一个启示,就是负数用补码表示时,可以把减负数用补码表示时,可以把减法转化为加法法转化为加法。数的补码表示数的补码表示补码的定义补码的定义:1、定点小数、定点小数例如例如+0.1011,则,则补补0.1011;-0.1011,则,则补补10+10.0000-0.10111.0101正数的补码就是本身正数的补码就是本身负数的补码需作运算负数的补码需作运算数的补码表示数的补码表示 x 1x 0 2+x=2-|x|0 x-1
11、(mod2)10.0000-0.10111.0101 根据补码定义,求负数的补码时需作一次减法运算,这显然不根据补码定义,求负数的补码时需作一次减法运算,这显然不是补码方法的初衷。后面将介绍是补码方法的初衷。后面将介绍反码反码表示法可以解决负数的求补表示法可以解决负数的求补问题。问题。2、定点整数、定点整数例:已知例:已知x=+10111,y=-11011,求求x补、补、y补补(n=5)按定义:按定义:x补补=010111y补补=25+1+y=1000000-11011=100101数的补码表示数的补码表示 x 2nx 0 2n+1+x=2n+1-|x|0 x-2n(mod2n+1)10000
12、00-11011100101注:上式注:上式机器数机器数的位数为的位数为n+1n+1数的补码表示数的补码表示注注:0 0的补码只有一种形式的补码只有一种形式 对于对于定点小数定点小数:0补补0补补0.0000 对于对于定点整数定点整数:0补补0补补00000.因此,补码的表示范围相对于原码、反码来因此,补码的表示范围相对于原码、反码来讲多一种,讲多一种,定点小数定点小数可以表示可以表示-1,n+1位位定点整定点整数数可以表示可以表示-2n。3.反码表示法反码表示法二进制数求反二进制数求反:就是二进制的各位数码:就是二进制的各位数码0 0变为变为1 1,1 1变为变为0 0。即:若即:若 x x
13、i i=0=0,则,则 =1=1。若若 x xi i=1=1,则,则 =0.=0.对对定点小数定点小数,反码的定义参见书(反码的定义参见书(2.11)2.11)式。式。数的反码表示数的反码表示正数的反码就是本身正数的反码就是本身负数的反码则是符号负数的反码则是符号位为位为1,数值位求反。,数值位求反。x 1x 0(2-2-n)+x=(2-2-n)_|x|0 x-1(2.11)由式(由式(2.112.11)可以得出:)可以得出:x反反+|x|=1.1111=10.00-0.001=2-2-n得出:得出:反反(2(22 2n n)0 x-1数的反码表示数的反码表示比较反码与补码的公式比较反码与补码
14、的公式 反反(2(22 2n n)补补2 2可得到:可得到:补补反反2n由此可知一个由反码求补码的重要公式,即:由此可知一个由反码求补码的重要公式,即:一个一个负数负数的补码,可以通过将该数的补码,可以通过将该数 符号位置符号位置1 1,其余取反,然后在最末位(其余取反,然后在最末位(2 2-n-n)上加)上加1 1 的方法直的方法直接获得。接获得。数的补码与反码关系数的补码与反码关系例:已知例:已知x=+0.1011,y=-0.1101,求求x补、补、y补补按定义:按定义:x补补=0.1011(注:注:正数的补码就是该数本身正数的补码就是该数本身)y补补=1.0010+0.0001=1.00
15、11y反反2-n注意到:注意到:1、0的反码不唯一:的反码不唯一:0反反0.000;0反反1.1112、比较反码与补码的公式:比较反码与补码的公式:反反(22n)补补2可知:补码与反码的关系为:可知:补码与反码的关系为:补补反反2n数的补码与反码关系数的补码与反码关系 上面的公式告诉我们,若要一个负数变补码,上面的公式告诉我们,若要一个负数变补码,其方法是符号位置其方法是符号位置1 1,其余各位,其余各位0 0变变1 1,1 1变变0 0,然,然后在最末位后在最末位(2(2-n-n)上加上加1 1。对定点整数,反码表示的定义为:对定点整数,反码表示的定义为:也可以用也可以用同样同样的方法得出定
16、点整数的补码与反码的方法得出定点整数的补码与反码的关系,找出利用反码求定点整数补码的方法。的关系,找出利用反码求定点整数补码的方法。x 2nx 0(2n+1-1)+x 0 x-2n(2.13)数的补码与反码关系数的补码与反码关系 求一个数的补码的另一种有效的转换方法:求一个数的补码的另一种有效的转换方法:对于对于负数负数,将原码的符号位不变(或置真,将原码的符号位不变(或置真值的符号位至值的符号位至1 1),数值部分由低位向高位转),数值部分由低位向高位转换,对开始遇到的换,对开始遇到的0 0和第一个和第一个1 1取其原码,以取其原码,以后的各位均取反。后的各位均取反。例:例:y=-0.110
17、100,求求y补补 解:解:y补补=1.001100保持不变保持不变逐位取反逐位取反y反反=1.001011y补补=1.001011+0.000001=1.001100数的补码与反码关系数的补码与反码关系4.4.移码表示法移码表示法 在计算机中,移码通常用于表示浮点在计算机中,移码通常用于表示浮点数的阶码。由于阶码一般取整数,所以数的阶码。由于阶码一般取整数,所以移码通常只用于移码通常只用于整数整数的表示。的表示。对定点整数,移码的定义是:对定点整数,移码的定义是:移移2 2n n2 2n n2 2n n (n n为移码数值部分的位数为移码数值部分的位数)移码的表示方法移码的表示方法例例:若阶
18、码:若阶码数值数值部分为部分为5 5位,以位,以表示真值,则表示真值,则 移移2 25 5 2 25 5 2 25 5 又例又例:当正数当正数10101 10101 时,时,移移1 1,1010110101 当负数当负数10101 10101 时,时,移移2 25 52 25 510101101010 0,0101101011。注意到注意到:移码中的移码中的逗号逗号不是小数点,而是表示左边一不是小数点,而是表示左边一位是符号位。显然,移码中符号位位是符号位。显然,移码中符号位0 0表示的规律与表示的规律与原码、补码、反码相反。移码的表示范围和补码一原码、补码、反码相反。移码的表示范围和补码一致
19、,致,0 0只有一种表示方式,只是符号位正好相反。只有一种表示方式,只是符号位正好相反。移码的表示方法移码的表示方法机器码表示法小结:在数据的四种机器表示法中,在数据的四种机器表示法中,v正数的原码、反码、补码等于真值,只有负数才分正数的原码、反码、补码等于真值,只有负数才分别有不同的表示方法。别有不同的表示方法。补码和移码的补码和移码的0 0只有一种表示只有一种表示方法,因此其表示范围相对于原码和反码多一种,方法,因此其表示范围相对于原码和反码多一种,定点小数可表示定点小数可表示-1-1(移码没有小数形式),正数可(移码没有小数形式),正数可表示表示-2-2n n。v移码表示法主要用于表示浮
20、点数的阶码,可以直接移码表示法主要用于表示浮点数的阶码,可以直接比较大小。表示范围和补码相同,只有最高位相反。比较大小。表示范围和补码相同,只有最高位相反。机器码表示法小结机器码表示法小结v由于补码表示对加减法运算十分方便,因此目前机由于补码表示对加减法运算十分方便,因此目前机器中广泛采用补码表示法。在这类机器中数用补码器中广泛采用补码表示法。在这类机器中数用补码表示,补码存储,补码运算。(也有些机器,数用表示,补码存储,补码运算。(也有些机器,数用原码进行存储和传送,运算时改用补码。还有些机原码进行存储和传送,运算时改用补码。还有些机器在做加减法时用补码运算,在做乘除法时用原码器在做加减法时
21、用补码运算,在做乘除法时用原码运算)运算)机器码表示法小结机器码表示法小结 例例3 3 以以定点整数定点整数为例,用数轴形式说明原码、反码、补码表为例,用数轴形式说明原码、反码、补码表示范围和可能的数码组合情况。示范围和可能的数码组合情况。解解:原码、反码、补码表示分别示于下图。与原码、反码不同,在原码、反码、补码表示分别示于下图。与原码、反码不同,在补码表示中补码表示中“0 0”只有一种形式,且用补码表示负数时范围可到只有一种形式,且用补码表示负数时范围可到2 2n n 。机器码表示法小结机器码表示法小结 例例44将十进制真值将十进制真值(127127,1 1,0 0,1 1,127)127
22、)列表表示成二列表表示成二进制数及原码、反码、补码、移码值。进制数及原码、反码、补码、移码值。解解:二进制真值及其诸码值列于下表,其中二进制真值及其诸码值列于下表,其中0 0在在 原原 反反中中有两种表示。由表中数据可知,补码值与移码值差别仅在于符号有两种表示。由表中数据可知,补码值与移码值差别仅在于符号位不同。位不同。机器码表示法小结机器码表示法小结 例例55 设机器字长设机器字长1616位,定点表示,尾数位,定点表示,尾数1515位,数符位,数符1 1位,问:位,问:(1)(1)定点原码整数表示时,最大正数是多少定点原码整数表示时,最大正数是多少?最小负数是多少最小负数是多少?(2)(2)
23、定点原码小数表示时,最大正数是多少定点原码小数表示时,最大正数是多少?最小负数是多少最小负数是多少?解解:(1)(1)定点原码整数定点原码整数表示表示最大正数值最大正数值 (2(215151)1)1010(32767)32767)1010 =0=0 111111111111111111111111111111 最小负数值最小负数值(2(215151)1)1010(32767)32767)1010 =1=1 111111111111111111111111111111 (15个个1)机器码表示法小结机器码表示法小结(2)(2)定点原码小数定点原码小数表示表示 最大正数值最大正数值(1(12 21
24、515)1010(0.111.11)0.111.11)2 2 最小负数值最小负数值(1(12 21515)1010(0.111.11)0.111.11)2 2 例例66假设由假设由S S,E E,M M三个域组成的一个三个域组成的一个3232位二进制字所表示的位二进制字所表示的非零规格化浮点数,真值表示为:非零规格化浮点数,真值表示为:(1)s(1.M)2E128问:它所表示的规格化的最大正数、最小正数、最大负数、最问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?小负数是多少?解解:(1)最大正数最大正数111111111111111111111111111111101(1
25、2-23)2127(2)最小正数最小正数000000000000000000000000000000001.02128机器码表示法小结机器码表示法小结(4)最大负数最大负数000000000000000000000000000000001.02128111111111111111111111111111111111(1223)2127(3)最小负数最小负数机器码表示法小结机器码表示法小结1.1.字符的表示方法字符的表示方法 目前国际上普遍采用的字符系统是七单位的目前国际上普遍采用的字符系统是七单位的ASCIIASCII码码(美国国家信息交换标准字符码美国国家信息交换标准字符码),它包括,它包括
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二章 运算方法与运算器 改 第二 运算 方法 运算器
限制150内